Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d7a2820
Implement contact API E2E test and adjustments to mock third-party se…
webstackdev Dec 1, 2025
c6d741c
Implement newsletter API E2E test and adjustments to mock third-party…
webstackdev Dec 1, 2025
a9eaf06
Implement suprabase API E2E test and adjustments to mock third-party …
webstackdev Dec 1, 2025
60087cb
Remove obsolete implementation plan for e2e tests
webstackdev Dec 1, 2025
8a07a57
Update package.json scripts
webstackdev Dec 1, 2025
39ba7a6
Add CRON API endpoints e2e test
webstackdev Dec 1, 2025
153bf9a
Add script for full e2e test run with mock service containers
webstackdev Dec 1, 2025
46dfb16
Implement contact form E2E test and helpers
webstackdev Dec 2, 2025
a0a4b75
Implement contact form E2E full stack with third-party mocks test case
webstackdev Dec 2, 2025
1409b00
Implement consent checkbox E2E test with container mocks for third pa…
webstackdev Dec 2, 2025
1c906a3
Add error states and resilience under mocked latency tests to consent…
webstackdev Dec 2, 2025
dcfbad1
Implement component consent preferences full stack E2E test case with…
webstackdev Dec 2, 2025
2ee8c1a
Implement newsletter double opt-in full stack E2E test case with cont…
webstackdev Dec 2, 2025
a2600e6
Add dotenv-cli call to test:e2e:full script in package.json
webstackdev Dec 2, 2025
c181408
Update src/pages/api/newsletter contact and _email unit tests to refl…
webstackdev Dec 2, 2025
79da11a
Disable the dev service worker whenever Playwright drives the browser…
webstackdev Dec 2, 2025
7c65baf
Remove Zod from ignored Dependabot scans
webstackdev Dec 2, 2025
400eb9b
Fix code lint errors
webstackdev Dec 2, 2025
cea1e2e
Fix service worker E2E test, added enableServiceWorkerForE2E() in Pwa…
webstackdev Dec 2, 2025
c78573f
Improve newsletter subscript test selector to remove flakiness
webstackdev Dec 2, 2025
0b0f207
Update code lint glob in package.json script
webstackdev Dec 2, 2025
019e2ff
Fix e2e error in consent preferences test ran in full container workf…
webstackdev Dec 2, 2025
3c7ce15
Fix flakiness by removing the per-test wiremock.resend.resetRequests(…
webstackdev Dec 2, 2025
2b1ac56
Fix linting errors after expanding lint coverage to test directory
webstackdev Dec 2, 2025
421546b
Fix flaky E2E test cases - Contact API spec no longer wipes all Resen…
webstackdev Dec 2, 2025
15cc855
Temporarily skip FID core web vitals test until performance improveme…
webstackdev Dec 2, 2025
a2e910a
Updates to fix flaky tests: carousel.spec.ts now samples multiple sho…
webstackdev Dec 2, 2025
259f5f5
Fix flaky E2E test cases - hardened 404 capture logic in BasePage.ts:…
webstackdev Dec 2, 2025
e15e60e
Fix flaky E2E tests - newsletter-subscription.spec.ts failing intermi…
webstackdev Dec 2, 2025
8b1209c
Fix flaky E2E tests - ensure consent logging never sends malformed ID…
webstackdev Dec 2, 2025
81d7b38
Fix flaky E2E tests - update calls to avoid race condition in theme p…
webstackdev Dec 2, 2025
a4f5c14
Fix flaky E2E tests - improve waitHelpers and readiness logic
webstackdev Dec 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,10 @@ updates:
versioning-strategy: "increase"
schedule:
interval: "weekly"
open-pull-requests-limit: 20
open-pull-requests-limit: 4
labels:
- "type: dependencies πŸ”—"
- "automerge 🀞"
# Ignore list: pin packages that should not be updated automatically
ignore:
- dependency-name: "zod"
update-types: ["version-update:semver-patch", "version-update:semver-minor", "version-update:semver-major"]
- package-ecosystem: "github-actions"
directory: "/"
schedule:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ jobs:

# Define environment variables once at the job level
# These will be available to ALL steps in this job
# @TODO: Same issue with type-check.yml. These are real keys set on GitHub. But the production build only occurs on Vercel, and it's the only place that needs real keys. Once we set up a test framework using Docker containers for Suprabase, Upstash, etc., we should replace these keys with test keys.
env:
CONVERTKIT_API_KEY: ${{ secrets.CONVERTKIT_API_KEY }}
CONVERTKIT_FORM_ID: ${{ secrets.CONVERTKIT_FORM_ID }}
Expand Down Expand Up @@ -94,6 +93,9 @@ jobs:
- name: Start Supabase stack
run: npm run containers:supabase:start

- name: Apply Supabase migrations
run: npm run containers:supabase:db-push

- name: Run Playwright E2E tests
run: npx playwright test
env:
Expand Down
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
"Joomla",
"jscoverage",
"Karamov",
"keyup",
"KHTML",
"koko",
"labelledby",
Expand All @@ -69,9 +70,11 @@
"oklch",
"Onest",
"optin",
"PGRST",
"pids",
"pleroma",
"Poslovski",
"Postg",
"Qualys",
"registrator",
"repost",
Expand Down
5 changes: 5 additions & 0 deletions @types/window.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ declare global {
*/
isPlaywrightControlled?: boolean

/**
* Allows Playwright tests to disable PWA service worker registration
*/
__disableServiceWorkerForE2E?: boolean

/**
* Snapshot of environment-client results for Playwright assertions
*/
Expand Down
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,40 @@ git push -u origin feature/your-feature-name
- Branch name must follow conventions
- Cannot commit directly to main

### Local Development Server

Use the helper script below to start Astro with `.env.development` automatically loaded:

```bash
npm run dev:env
```

The underlying `npm run dev` command remains unchanged for CI and Vercel; `dev:env` is just a convenience for local shells so API routes that depend on `process.env` (cron handlers, email providers, etc.) behave the same way they do in production.

## Supabase Production Initialization

Provisioning the hosted Supabase project uses the same SQL migrations that back local development. When you need to initialize (or update) the production database:

1. Authenticate the Supabase CLI (only required once per machine):

```bash
npx supabase login
```

1. Link the CLI to the production project (replace the placeholder reference):

```bash
npx supabase link --project-ref your-production-project-ref --workdir suprabase
```

1. Apply the latest migrations and RLS policies:

```bash
npm run supabase:db:push
```

The `supabase:db:push` script runs `supabase db push` against the linked project, ensuring every table, index, and policy in `suprabase/migrations` is kept in sync with production.

## Coding Standards

### Component Architecture
Expand Down
Loading
Loading