Skip to content

Add Playwright e2e tests against Docker Compose stack#73

Merged
zeevdr merged 5 commits into
mainfrom
feat/playwright-e2e-tests
May 31, 2026
Merged

Add Playwright e2e tests against Docker Compose stack#73
zeevdr merged 5 commits into
mainfrom
feat/playwright-e2e-tests

Conversation

@zeevdr

@zeevdr zeevdr commented May 31, 2026

Copy link
Copy Markdown
Member

Summary

  • Catches infra-level regressions (like the nginx proxy bug in Fix nginx resolver for API proxy #7) that unit tests cannot detect
  • Runs the full decree-server + decree-ui stack in memory mode — no Postgres or migrations needed
  • Integrates into CI as a gate that blocks the check job when e2e fails

Test plan

  • e2e/smoke.spec.ts — 6 tests: home page, schemas page, import schema via UI form, schema visible in list, tenant config page loads, API calls through nginx proxy
  • e2e/docker-compose.yml — decree server (STORAGE_BACKEND=memory) + decree-ui (ghcr.io/opendecree/decree:main)
  • e2e/global-setup.ts — polls server and UI until ready before tests run
  • .github/workflows/ci.ymle2e job added after lint/typecheck/test/build; check gate updated to require it
  • playwright.config.ts — Chromium only, workers: 1, sequential execution, traces on retry

Closes #8

Closes #8

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@zeevdr zeevdr added this to the Beta Readiness milestone May 31, 2026
@zeevdr zeevdr added size: M Moderate — a day or two, clear scope priority: P2 Nice-to-have labels May 31, 2026
zeevdr and others added 2 commits May 31, 2026 07:46
@codecov

codecov Bot commented May 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

zeevdr and others added 2 commits May 31, 2026 07:53
Also fix the SchemaImport placeholder which showed the wrong format.
The server requires spec_version: v1 with map-style fields, not syntax: v1.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
gRPC-gateway transcodes proto bytes fields as base64 in JSON.
The import form was sending raw YAML (plain text), which the server
rejected at the JSON unmarshal stage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@zeevdr zeevdr merged commit 97ed5f0 into main May 31, 2026
10 checks passed
@zeevdr zeevdr deleted the feat/playwright-e2e-tests branch May 31, 2026 05:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: P2 Nice-to-have size: M Moderate — a day or two, clear scope

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Playwright e2e tests against Docker compose stack

1 participant