diff --git a/e2e/tests/helpers.ts b/e2e/tests/helpers.ts index 5835a83..5f05e21 100644 --- a/e2e/tests/helpers.ts +++ b/e2e/tests/helpers.ts @@ -11,11 +11,14 @@ export async function loginViaApi(page: Page, login: string): Promise { await page.evaluate((t) => localStorage.setItem('token', t), token); } -/** Vyčistí stav pizza dne pro zadaný dayIndex (0=pondělí…4=pátek) přes dev API. */ -export async function clearPizzaDay(request: APIRequestContext): Promise { - const today = new Date('2025-01-10'); // MOCK_DATA pins to Friday = dayIndex 4 +/** Vyčistí stav dne pro zadaný dayIndex (0=pondělí…4=pátek) přes dev API. + * /api/dev/* vyžaduje JWT – nejdřív získáme token přes /api/login. + */ +export async function clearDay(request: APIRequestContext, dayIndex = 4): Promise { + const loginResp = await request.post('/api/login', { data: {} }); + const token = await loginResp.json() as string; await request.post('/api/dev/clear', { - headers: { 'Content-Type': 'application/json', 'remote-user': 'e2e-user' }, - data: { dayIndex: 4 }, + headers: { Authorization: `Bearer ${token}` }, + data: { dayIndex }, }); } diff --git a/e2e/tests/pick-food.spec.ts b/e2e/tests/pick-food.spec.ts index 3860263..64cbd91 100644 --- a/e2e/tests/pick-food.spec.ts +++ b/e2e/tests/pick-food.spec.ts @@ -1,10 +1,9 @@ import { test, expect } from '@playwright/test'; +import { clearDay } from './helpers'; test.beforeEach(async ({ page, request }) => { // Vyčistíme volby dne, aby testy neovlivnily navzájem - await request.post('/api/dev/clear', { - data: { dayIndex: 4 }, - }); + await clearDay(request); await page.goto('/'); await page.waitForLoadState('networkidle'); // Počkáme, až se zobrazí volba stravování diff --git a/e2e/tests/pizza-day.spec.ts b/e2e/tests/pizza-day.spec.ts index 9325048..e3e4a23 100644 --- a/e2e/tests/pizza-day.spec.ts +++ b/e2e/tests/pizza-day.spec.ts @@ -1,11 +1,12 @@ import { test, expect } from '@playwright/test'; +import { clearDay } from './helpers'; // Pizza day testy musí běžet sekvenčně (sdílejí stav mock dne) test.describe.serial('pizza day životní cyklus', () => { test.beforeEach(async ({ request }) => { // Vyčistíme data mock dne před každým testem - await request.post('/api/dev/clear', { data: { dayIndex: 4 } }); + await clearDay(request); }); test('zobrazí sekci Pizza Day bez aktivního dne', async ({ page }) => {