// @ts-check const { test, expect } = require('@playwright/test'); /** * Stufe 2 · Weltküche-Round-End * * Regression 2026-06-10: am Rundenende werden ALLE Choices (auch * ungeklickte) mit Status erklärt — vorher nur die richtigen. * Plus: Karte schrumpft auf halbe Höhe. */ test('Weltküche · Sim lädt + SFX-Files erreichbar', async ({ page }) => { const res = await page.goto('/weltkueche'); expect(res.status()).toBe(200); await page.waitForTimeout(1000); // SFX-Files prüfen (alle 6 müssen 200 antworten) const sfx = ['click-country', 'ingredient-correct', 'ingredient-wrong', 'ingredient-solved', 'dish-complete', 'badge-earned']; for (const s of sfx) { const r = await page.request.get(`/sims/weltkueche/sounds/${s}.mp3`); expect(r.status(), `Sound /sims/weltkueche/sounds/${s}.mp3 antwortet ${r.status()}`).toBe(200); } }); test('Weltküche · Onboarding-Bilder geladen (keine 404)', async ({ page }) => { await page.goto('/weltkueche'); await page.waitForTimeout(800); // Tutorial-Bilder müssen im Onboarding stehen — wir prüfen nur ob keine // 404 in den Console-Logs reinkommen für PNG-Loads const failed = []; page.on('response', r => { if (r.status() === 404 && /\.(png|webp|jpg|svg)$/i.test(r.url())) failed.push(r.url()); }); await page.waitForTimeout(2000); expect(failed, `404 für Bilder: ${failed.join(', ')}`).toHaveLength(0); });