diff --git a/.gitignore b/.gitignore index e2072a72a4..2717054cb4 100644 --- a/.gitignore +++ b/.gitignore @@ -64,4 +64,4 @@ src/style - official.css # meilisearch meilisearch data.ms/* - +auth.json diff --git a/e2e/specs/landing.spec.js b/e2e/specs/landing.spec.js index 79afa866e1..0b8072d6ef 100644 --- a/e2e/specs/landing.spec.js +++ b/e2e/specs/landing.spec.js @@ -1,9 +1,18 @@ import { expect, test } from '@playwright/test'; -test('landing page', async ({ page }) => { - await page.goto('http://localhost:3080/'); - // expect (await page.title()).toBe('ChatGPT Clone'); - expect(await page.textContent('#landing-title')).toBe( - import.meta.env.VITE_APP_TITLE || 'ChatGPT Clone' - ); +test.describe('Landing suite', () => { + let myBrowser; + + test.beforeEach(async ({ browser }) => { + myBrowser = await browser.newContext({ + storageState: 'e2e/auth.json', + }); + }); + + test('Landing title', async () => { + const page = await myBrowser.newPage(); + await page.goto('http://localhost:3080/'); + const pageTitle = await page.textContent('#landing-title') + expect(pageTitle.length).toBeGreaterThan(0); + }); }); diff --git a/e2e/specs/login.spec.js b/e2e/specs/login.spec.js new file mode 100644 index 0000000000..98c9aef122 --- /dev/null +++ b/e2e/specs/login.spec.js @@ -0,0 +1,9 @@ +import { expect, test } from '@playwright/test'; + +test('landing page', async ({ page }) => { + await page.goto('http://localhost:3080/'); + const pageTitle = await page.$eval('h1', pageTitle => pageTitle.textContent); + console.log('pageTitle', pageTitle); + expect(pageTitle.length).toBeGreaterThan(0); + expect(pageTitle).toEqual('Welcome back'); +}); diff --git a/package.json b/package.json index 60a3392ba6..78270746cc 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "e2e:update": "playwright test --config=e2e/playwright.config.js --update-snapshots", "e2e:debug": "cross-env PWDEBUG=1 playwright test --config=e2e/playwright.config.js", "e2e:report": "npx playwright show-report e2e/playwright-report", + "e2e:auth": "npx playwright codegen --save-storage=e2e/auth.json http://localhost:3080/", "prepare": "husky install", "format": "prettier-eslint --write \"{,!(node_modules)/**/}*.{js,jsx,ts,tsx}\"" },