1e51ef7def
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/ - 12 code-workspace-Files - STATUS-*.md - viele M/D/R-Änderungen an bereits getrackten Files - .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
38 lines
1.4 KiB
JavaScript
38 lines
1.4 KiB
JavaScript
// @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);
|
|
});
|