Skip to content

test: rewrite e2e suite as Cucumber (godog) browser tests - #44

Merged
dimiro1 merged 3 commits into
mainfrom
dimiro1/cucumber-e2e-tests
Jun 4, 2026
Merged

test: rewrite e2e suite as Cucumber (godog) browser tests#44
dimiro1 merged 3 commits into
mainfrom
dimiro1/cucumber-e2e-tests

Conversation

@dimiro1

@dimiro1 dimiro1 commented Jun 4, 2026

Copy link
Copy Markdown
Owner

Replaces the old chromedp/HTTP e2e tests with a Cucumber/Gherkin suite run via godog: 29 scenarios across 8 feature files drive the real dashboard in headless Chrome — sign-in, function create/list/rename/delete, invocation, versions/rollback/diff, env vars, the KV store, scheduling, execution history and detail, the Test page, and connected clients. Feature files stay product-level (no selectors); the Go step definitions hold all browser interaction, and function invocation goes through the public /fn HTTP endpoint a real client would call. While adding the execution-detail scenario this surfaced a nil-panic, so the e2e test server now wires the AI/email request trackers exactly as production does. The PR also adds an E2E_HEADED flag plus a test-e2e-headed mise task to watch a real browser, raises the e2e timeout (go test -timeout 20m with a 25-minute CI job cap), and updates the README and testing-strategy ADR; the old *_test.go e2e files are removed.

dimiro1 added 3 commits June 4, 2026 08:49
Replace the old chromedp/HTTP e2e tests with a Cucumber/Gherkin suite run
via godog. Every scenario drives the real dashboard in headless Chrome;
function invocation uses the public /fn HTTP endpoint. Feature files stay
product-level (no selectors); the step code holds all interaction detail.

Also wire the AI/email request trackers in the e2e test server so opening
an execution's detail page no longer nil-panics, add an E2E_HEADED flag
plus a test-e2e-headed task to watch a real browser, raise the e2e test
timeout, and update the README and testing-strategy ADR.
aiRequestConnection and emailRequestConnection now guard against a nil
tracker and return an empty connection instead of dereferencing it, so
an execution's AI/email request connections degrade gracefully when
tracking is not configured rather than panicking. Add a regression test.
jdx/mise-action@v2 and actions/cache@v4 run on the deprecated Node 20
runtime. Bump to mise-action@v4 and cache@v5 (both Node 24) to clear the
GitHub Actions deprecation warning in the test and e2e jobs.
@dimiro1
dimiro1 merged commit 9c1d8e1 into main Jun 4, 2026
2 checks passed
@dimiro1
dimiro1 deleted the dimiro1/cucumber-e2e-tests branch June 4, 2026 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant