Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 70ed59ab9d | |||
| 6b2deff215 | |||
| ace4130171 | |||
| 9383cd7d4c | |||
| db1fe473cd |
@@ -24,7 +24,7 @@ jobs:
|
||||
with:
|
||||
node-version: "22"
|
||||
|
||||
- run: npm install -g yarn
|
||||
- run: corepack enable
|
||||
|
||||
- run: cd types && yarn install --frozen-lockfile && yarn openapi-ts
|
||||
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
with:
|
||||
node-version: "22"
|
||||
|
||||
- run: npm install -g yarn
|
||||
- run: corepack enable
|
||||
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
@@ -73,7 +73,7 @@ jobs:
|
||||
with:
|
||||
node-version: "22"
|
||||
|
||||
- run: npm install -g yarn
|
||||
- run: corepack enable
|
||||
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
@@ -102,7 +102,7 @@ jobs:
|
||||
with:
|
||||
node-version: "22"
|
||||
|
||||
- run: npm install -g yarn
|
||||
- run: corepack enable
|
||||
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
@@ -189,7 +189,7 @@ jobs:
|
||||
with:
|
||||
node-version: "22"
|
||||
|
||||
- run: npm install -g yarn
|
||||
- run: corepack enable
|
||||
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { test, expect } from '@playwright/test';
|
||||
import { clearPizzaDay } from './helpers';
|
||||
|
||||
test.beforeEach(async ({ page, request }) => {
|
||||
// Vyčistíme volby dne, aby testy neovlivnily navzájem
|
||||
|
||||
@@ -20,17 +20,26 @@ test.describe.serial('pizza day životní cyklus', () => {
|
||||
});
|
||||
|
||||
test('vytvoří, uzamkne a dokončí pizza day', async ({ page }) => {
|
||||
// Tento test má více kroků a server při MOCK_DATA=true záměrně zpožďuje scraping pizz o 3s
|
||||
test.setTimeout(60_000);
|
||||
await page.goto('/');
|
||||
await page.waitForLoadState('networkidle');
|
||||
// Sekce pizza-section se zobrazí jen pokud má uživatel zvolenou možnost "Pizza day"
|
||||
await page.locator('select').selectOption({ label: 'Pizza day' });
|
||||
await page.waitForLoadState('networkidle');
|
||||
|
||||
// Přijmeme všechny window.confirm() dialogy v celém testu (vytvoření i doručení pizza dne)
|
||||
page.on('dialog', dialog => dialog.accept());
|
||||
|
||||
// --- CREATED ---
|
||||
const createBtn = page.locator('.pizza-section button', { hasText: 'Založit Pizza day' });
|
||||
await expect(createBtn).toBeVisible({ timeout: 10_000 });
|
||||
// Čekáme na odpověď API před reloadem – jinak by reload přerušil probíhající request
|
||||
const createResponse = page.waitForResponse(resp => resp.url().includes('/api/pizzaDay/create'));
|
||||
// Server s MOCK_DATA=true záměrně zpožďuje stahování pizz o 3s, proto velkorysý timeout
|
||||
const createResponse = page.waitForResponse(
|
||||
resp => resp.url().includes('/api/pizzaDay/create'),
|
||||
{ timeout: 15_000 },
|
||||
);
|
||||
await createBtn.click();
|
||||
await createResponse;
|
||||
await page.reload();
|
||||
@@ -66,8 +75,6 @@ test.describe.serial('pizza day životní cyklus', () => {
|
||||
// --- DELIVERED ---
|
||||
const deliverBtn = page.locator('.pizza-section button', { hasText: 'Doručeno' });
|
||||
await expect(deliverBtn).toBeVisible({ timeout: 5_000 });
|
||||
// window.confirm dialog − Playwright automaticky potvrdí
|
||||
page.on('dialog', dialog => dialog.accept());
|
||||
await deliverBtn.click();
|
||||
await page.waitForLoadState('networkidle');
|
||||
await expect(page.locator('.pizza-section')).toContainText('doručeny', { timeout: 5_000 });
|
||||
|
||||
@@ -141,8 +141,9 @@ router.post("/clear", async (req: Request<{}, any, any>, res, next) => {
|
||||
const dateKey = formatDate(date);
|
||||
const data = await storage.getData<any>(dateKey);
|
||||
|
||||
// Vymažeme všechny volby
|
||||
// Vymažeme všechny volby i aktivní pizza day
|
||||
data.choices = {};
|
||||
delete data.pizzaDay;
|
||||
|
||||
await storage.setData(dateKey, data);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user