From 421cd98429fa0c184deae50c047e57690bb88258 Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Mon, 27 Jan 2025 16:11:35 +0300 Subject: [PATCH] T: Implement backend mocking for tests --- rsconcept/frontend/tests/app.spec.ts | 5 +++++ rsconcept/frontend/tests/constants.ts | 1 + rsconcept/frontend/tests/mocks/auth.ts | 9 +++++++++ 3 files changed, 15 insertions(+) create mode 100644 rsconcept/frontend/tests/constants.ts create mode 100644 rsconcept/frontend/tests/mocks/auth.ts diff --git a/rsconcept/frontend/tests/app.spec.ts b/rsconcept/frontend/tests/app.spec.ts index b5b67f3b..e6a1a906 100644 --- a/rsconcept/frontend/tests/app.spec.ts +++ b/rsconcept/frontend/tests/app.spec.ts @@ -1,9 +1,14 @@ import { expect, test } from '@playwright/test'; +import { authAnonymous } from './mocks/auth'; + test('should load the homepage and display login button', async ({ page }) => { + await authAnonymous(page); + await page.goto('/'); await expect(page).toHaveTitle('Концепт Портал'); await expect(page.getByRole('heading', { name: 'Портал' })).toBeVisible(); + await page.click('.h-full > .mr-1'); await expect(page.getByText('Логин или email')).toBeVisible(); }); diff --git a/rsconcept/frontend/tests/constants.ts b/rsconcept/frontend/tests/constants.ts new file mode 100644 index 00000000..64b8526b --- /dev/null +++ b/rsconcept/frontend/tests/constants.ts @@ -0,0 +1 @@ +export const BACKEND_URL = 'http://localhost:8000'; diff --git a/rsconcept/frontend/tests/mocks/auth.ts b/rsconcept/frontend/tests/mocks/auth.ts new file mode 100644 index 00000000..c092bae3 --- /dev/null +++ b/rsconcept/frontend/tests/mocks/auth.ts @@ -0,0 +1,9 @@ +import { Page } from '@playwright/test'; + +import { BACKEND_URL } from '../constants'; + +export async function authAnonymous(page: Page) { + await page.route(`${BACKEND_URL}/users/api/auth`, async route => { + await route.fulfill({ json: { id: null } }); + }); +}