From 5beb1c6192c9449f9bf1a542e4e82bcaa099f0fa Mon Sep 17 00:00:00 2001 From: pit Date: Mon, 18 Sep 2023 11:32:21 +0100 Subject: [PATCH] feat: fix auth issue --- .env.example | 5 +++++ apps/web/src/tests/auth.setup.ts | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index cfa96f59b..34e4e0bed 100644 --- a/.env.example +++ b/.env.example @@ -15,6 +15,11 @@ NEXT_PRIVATE_DATABASE_URL="postgres://documenso:password@127.0.0.1:54320/documen # Defines the URL to use for the database when running migrations and other commands that won't work with a connection pool. NEXT_PRIVATE_DIRECT_DATABASE_URL="postgres://documenso:password@127.0.0.1:54320/documenso" +# [[E2E Tests]] +E2E_TEST_USERNAME="" +E2E_TEST_USER_EMAIL="" +E2E_TEST_USER_PASSWORD="" + # [[SMTP]] # OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default) | smtp-api | mailchannels NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth" diff --git a/apps/web/src/tests/auth.setup.ts b/apps/web/src/tests/auth.setup.ts index 0e6bfa3bc..4da9ecb2d 100644 --- a/apps/web/src/tests/auth.setup.ts +++ b/apps/web/src/tests/auth.setup.ts @@ -3,10 +3,22 @@ import { type Page, expect, test as setup } from '@playwright/test'; import { STORAGE_STATE } from '../../../../playwright.config'; setup('authenticate', async ({ page }: { page: Page }) => { - await page.goto('/'); + await page.goto('/signup'); + await page.getByLabel('Name').fill(process.env.E2E_TEST_USERNAME); await page.getByLabel('Email').fill(process.env.E2E_TEST_USER_EMAIL); await page.getByLabel('Password').fill(process.env.E2E_TEST_USER_PASSWORD); - await page.getByRole('button', { name: 'Sign In' }).click(); + + const canvas = page.locator('canvas'); + const box = await canvas.boundingBox(); + + if (box) { + await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2); + await page.mouse.down(); + await page.mouse.move(box.x + box.width / 4, box.y + box.height / 4); + await page.mouse.up(); + } + + await page.getByRole('button', { name: 'Sign Up' }).click(); await page.waitForURL('/documents'); await expect(page).toHaveURL('/documents'); await page.context().storageState({ path: STORAGE_STATE });