From bfedabdc10da834536cf75936f5b2720473c1995 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 5 Dec 2023 03:54:41 +0100 Subject: [PATCH] fix: increase e2e test timeout (#682) --- .github/workflows/e2e-tests.yml | 28 ++++++++----------- apps/web/package.json | 1 + package-lock.json | 4 +-- packages/app-tests/package.json | 2 +- packages/app-tests/playwright.config.ts | 4 +++ .../migration.sql | 5 ++++ packages/prisma/schema.prisma | 2 +- 7 files changed, 25 insertions(+), 21 deletions(-) create mode 100644 packages/prisma/migrations/20231205000309_add_cascade_delete_for_verification_tokens/migration.sql diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index a37f001d1..f2342f446 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -8,19 +8,6 @@ jobs: e2e_tests: timeout-minutes: 60 runs-on: ubuntu-latest - services: - postgres: - image: postgres - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - ports: - - 5432:5432 steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 @@ -28,24 +15,31 @@ jobs: node-version: 18 - name: Install dependencies run: npm ci + - name: Copy env run: cp .env.example .env + + - name: Start Services + run: npm run dx:up + - name: Install Playwright Browsers run: npx playwright install --with-deps + - name: Generate Prisma Client run: npm run prisma:generate -w @documenso/prisma + - name: Create the database run: npm run prisma:migrate-dev + - name: Run Playwright tests run: npm run ci + - uses: actions/upload-artifact@v3 if: always() with: - name: playwright-report - path: playwright-report/ + name: test-results + path: "packages/app-tests/**/test-results/*" retention-days: 30 env: - NEXT_PRIVATE_DATABASE_URL: postgresql://postgres:postgres@localhost:5432/documenso - NEXT_PRIVATE_DIRECT_DATABASE_URL: postgresql://postgres:postgres@localhost:5432/documenso TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} diff --git a/apps/web/package.json b/apps/web/package.json index 47d94fb63..150982c2d 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -8,6 +8,7 @@ "build": "next build", "start": "next start", "lint": "next lint", + "e2e:prepare": "next build && next start", "lint:fix": "next lint --fix", "clean": "rimraf .next && rimraf node_modules", "copy:pdfjs": "node ../../scripts/copy-pdfjs.cjs" diff --git a/package-lock.json b/package-lock.json index 4d4be5be4..80f31d7a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ }, "apps/marketing": { "name": "@documenso/marketing", - "version": "1.2.1", + "version": "1.2.3", "license": "AGPL-3.0", "dependencies": { "@documenso/assets": "*", @@ -85,7 +85,7 @@ }, "apps/web": { "name": "@documenso/web", - "version": "1.2.1", + "version": "1.2.3", "license": "AGPL-3.0", "dependencies": { "@documenso/assets": "*", diff --git a/packages/app-tests/package.json b/packages/app-tests/package.json index 92cfd169d..e6f09a0fc 100644 --- a/packages/app-tests/package.json +++ b/packages/app-tests/package.json @@ -6,7 +6,7 @@ "main": "index.js", "scripts": { "test:dev": "playwright test", - "test:e2e": "start-server-and-test \"(cd ../../apps/web && npm run start)\" http://localhost:3000 \"playwright test\"" + "test:e2e": "start-server-and-test \"npm run start -w @documenso/web\" http://localhost:3000 \"playwright test\"" }, "keywords": [], "author": "", diff --git a/packages/app-tests/playwright.config.ts b/packages/app-tests/playwright.config.ts index 463b6f97d..672c2f7ef 100644 --- a/packages/app-tests/playwright.config.ts +++ b/packages/app-tests/playwright.config.ts @@ -28,8 +28,12 @@ export default defineConfig({ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on-first-retry', + + video: 'retain-on-failure', }, + timeout: 30_000, + /* Configure projects for major browsers */ projects: [ { diff --git a/packages/prisma/migrations/20231205000309_add_cascade_delete_for_verification_tokens/migration.sql b/packages/prisma/migrations/20231205000309_add_cascade_delete_for_verification_tokens/migration.sql new file mode 100644 index 000000000..26d7cce51 --- /dev/null +++ b/packages/prisma/migrations/20231205000309_add_cascade_delete_for_verification_tokens/migration.sql @@ -0,0 +1,5 @@ +-- DropForeignKey +ALTER TABLE "VerificationToken" DROP CONSTRAINT "VerificationToken_userId_fkey"; + +-- AddForeignKey +ALTER TABLE "VerificationToken" ADD CONSTRAINT "VerificationToken_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index 7407bc5c0..2c6f1113e 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -60,7 +60,7 @@ model VerificationToken { expires DateTime createdAt DateTime @default(now()) userId Int - user User @relation(fields: [userId], references: [id]) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) } enum SubscriptionStatus {