From f80aa4bf7273f3b49ea4a5c2d55f055a5eadadfc Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Sat, 6 Dec 2025 12:59:53 +1100 Subject: [PATCH] chore: optimize tests (#2280) --- .github/workflows/e2e-tests.yml | 14 +- apps/remix/app/root.tsx | 18 +- .../t.$teamUrl+/settings.document.tsx | 2 - .../e2e/api/v2/envelopes-api.spec.ts | 5 +- .../autosave-fields-step.spec.ts | 23 +-- .../e2e/documents/delete-documents.spec.ts | 81 ++++----- packages/app-tests/e2e/fixtures/generic.ts | 20 +++ .../e2e/folders/team-account-folders.spec.ts | 158 +++++++++++++----- .../organisations/manage-organisation.spec.ts | 26 ++- .../public-profiles/public-profiles.spec.ts | 21 ++- .../e2e/teams/team-documents.spec.ts | 66 ++++---- .../app-tests/e2e/teams/team-email.spec.ts | 8 +- .../template-autosave-fields-step.spec.ts | 8 +- .../e2e/templates/manage-templates.spec.ts | 12 +- .../e2e/webhooks/webhooks-crud.spec.ts | 10 +- packages/app-tests/package.json | 2 +- packages/app-tests/playwright.config.ts | 56 ++++++- packages/prisma/seed/documents.ts | 3 + 18 files changed, 357 insertions(+), 176 deletions(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index a1eb7453b..274a22f2e 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -1,14 +1,19 @@ name: Playwright Tests on: push: - branches: ['main', 'feat/rr7'] + branches: ['main'] pull_request: branches: ['main'] + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: e2e_tests: name: 'E2E Tests' timeout-minutes: 60 - runs-on: warp-ubuntu-2204-x64-16x + runs-on: warp-ubuntu-2204-x64-8x steps: - uses: actions/checkout@v4 @@ -28,9 +33,6 @@ jobs: - name: Seed the database run: npm run prisma:seed - - name: Build app - run: npm run build - - name: Install playwright browsers run: npx playwright install --with-deps @@ -45,7 +47,7 @@ jobs: with: name: test-results path: 'packages/app-tests/**/test-results/*' - retention-days: 30 + retention-days: 7 env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} diff --git a/apps/remix/app/root.tsx b/apps/remix/app/root.tsx index 70c22dd12..1b5ae1acd 100644 --- a/apps/remix/app/root.tsx +++ b/apps/remix/app/root.tsx @@ -46,12 +46,16 @@ export async function loader({ request }: Route.LoaderArgs) { const { getTheme } = await themeSessionResolver(request); - let lang: SupportedLanguageCodes = await langCookie.parse(request.headers.get('cookie') ?? ''); + const cookieHeader = request.headers.get('cookie') ?? ''; + + let lang: SupportedLanguageCodes = await langCookie.parse(cookieHeader); if (!APP_I18N_OPTIONS.supportedLangs.includes(lang)) { lang = extractLocaleData({ headers: request.headers }).lang; } + const disableAnimations = cookieHeader.includes('__disable_animations=true'); + let organisations = null; if (session.isAuthenticated) { @@ -62,6 +66,7 @@ export async function loader({ request }: Route.LoaderArgs) { { lang, theme: getTheme(), + disableAnimations, session: session.isAuthenticated ? { user: session.user, @@ -92,7 +97,8 @@ export function Layout({ children }: { children: React.ReactNode }) { } export function LayoutContent({ children }: { children: React.ReactNode }) { - const { publicEnv, session, lang, ...data } = useLoaderData() || {}; + const { publicEnv, session, lang, disableAnimations, ...data } = + useLoaderData() || {}; const [theme] = useTheme(); @@ -111,6 +117,14 @@ export function LayoutContent({ children }: { children: React.ReactNode }) { + {disableAnimations && ( +