test: ripara la suite Vitest e migra gli e2e all'architettura attuale
La suite era allineata a una vecchia forma dello stato (sp.punt/sp.set/ sp.servHome) e a una vecchia architettura e2e (controller su :3001). Baseline iniziale: 77/170 test Vitest falliti. Vitest (ora 212/212 verdi): - gameState.test.js: riscritto con helper che derivano punteggio/set/ servizio dalla striscia; aggiunto blocco formInizio - server-utils.js: getNetworkIPs accetta interfacce iniettabili e printServerInfo accetta gli IP iniettabili (deterministico anche su WSL); filtro LAN unificato (esclude 127./169.254./172.) - websocket + stress: punteggio letto via punteggio(striscia) - ControllerPage/DisplayPage: forzato layout mobile (viewport portrait), punteggi impostati via striscia; aggiunto test bottone REFERTO - nuovi: referto.test.js, persist.test.js (mock fs), wsMixin.test.js, integration/server.test.js (routing) Refactor di supporto: - referto.js: estratta buildRefertoHtml(state, now) pura; generaReferto resta wrapper con window.open/print - server.js: estratti createApp()/startServer(); avvio solo se entrypoint e2e (migrazione parziale, NON ancora verificata verde): - tutti i riferimenti controller :3001 -> :3000/controller - forzato viewport portrait sul controller prima del goto - reset helper: chiude il dialog di configurazione che doReset apre - game-simulation: gestione del dialog SET VINTO automatico a 25
This commit is contained in:
@@ -7,7 +7,8 @@ test.describe('Basic Flow: Controller ↔ Display', () => {
|
||||
const controllerPage = await context.newPage();
|
||||
|
||||
await displayPage.goto('http://localhost:3000');
|
||||
await controllerPage.goto('http://localhost:3001');
|
||||
await controllerPage.setViewportSize({ width: 390, height: 844 });
|
||||
await controllerPage.goto('http://localhost:3000/controller');
|
||||
|
||||
await expect(displayPage).toHaveTitle(/Segnapunti/);
|
||||
await expect(controllerPage).toHaveTitle(/Controller/);
|
||||
@@ -15,7 +16,8 @@ test.describe('Basic Flow: Controller ↔ Display', () => {
|
||||
|
||||
test('il punteggio iniziale dovrebbe essere 0-0', async ({ context }) => {
|
||||
const controllerPage = await context.newPage();
|
||||
await controllerPage.goto('http://localhost:3001');
|
||||
await controllerPage.setViewportSize({ width: 390, height: 844 });
|
||||
await controllerPage.goto('http://localhost:3000/controller');
|
||||
|
||||
// Attende la connessione WebSocket
|
||||
await controllerPage.waitForSelector('.conn-bar.connected');
|
||||
@@ -31,7 +33,8 @@ test.describe('Basic Flow: Controller ↔ Display', () => {
|
||||
const controllerPage = await context.newPage();
|
||||
|
||||
await displayPage.goto('http://localhost:3000');
|
||||
await controllerPage.goto('http://localhost:3001');
|
||||
await controllerPage.setViewportSize({ width: 390, height: 844 });
|
||||
await controllerPage.goto('http://localhost:3000/controller');
|
||||
|
||||
// Attende la connessione WebSocket del controller
|
||||
await controllerPage.waitForSelector('.conn-bar.connected');
|
||||
@@ -42,6 +45,11 @@ test.describe('Basic Flow: Controller ↔ Display', () => {
|
||||
if (await btnConfirm.isVisible()) {
|
||||
await btnConfirm.click();
|
||||
}
|
||||
// doReset apre automaticamente il dialog di configurazione: chiudilo
|
||||
const cfgCancel = controllerPage.locator('.dialog-config .btn-cancel');
|
||||
if (await cfgCancel.isVisible()) {
|
||||
await cfgCancel.click();
|
||||
}
|
||||
await controllerPage.waitForTimeout(200);
|
||||
|
||||
// Click +1 Home
|
||||
@@ -60,7 +68,8 @@ test.describe('Basic Flow: Controller ↔ Display', () => {
|
||||
const controllerPage = await context.newPage();
|
||||
|
||||
await displayPage.goto('http://localhost:3000');
|
||||
await controllerPage.goto('http://localhost:3001');
|
||||
await controllerPage.setViewportSize({ width: 390, height: 844 });
|
||||
await controllerPage.goto('http://localhost:3000/controller');
|
||||
|
||||
await controllerPage.waitForSelector('.conn-bar.connected');
|
||||
|
||||
@@ -70,6 +79,11 @@ test.describe('Basic Flow: Controller ↔ Display', () => {
|
||||
if (await btnConfirm.isVisible()) {
|
||||
await btnConfirm.click();
|
||||
}
|
||||
// doReset apre automaticamente il dialog di configurazione: chiudilo
|
||||
const cfgCancel = controllerPage.locator('.dialog-config .btn-cancel');
|
||||
if (await cfgCancel.isVisible()) {
|
||||
await cfgCancel.click();
|
||||
}
|
||||
await controllerPage.waitForTimeout(200);
|
||||
|
||||
// Click +1 Guest
|
||||
@@ -88,7 +102,8 @@ test.describe('Basic Flow: Controller ↔ Display', () => {
|
||||
const controllerPage = await context.newPage();
|
||||
|
||||
await displayPage.goto('http://localhost:3000');
|
||||
await controllerPage.goto('http://localhost:3001');
|
||||
await controllerPage.setViewportSize({ width: 390, height: 844 });
|
||||
await controllerPage.goto('http://localhost:3000/controller');
|
||||
|
||||
await controllerPage.waitForSelector('.conn-bar.connected');
|
||||
|
||||
@@ -98,6 +113,11 @@ test.describe('Basic Flow: Controller ↔ Display', () => {
|
||||
if (await btnConfirm.isVisible()) {
|
||||
await btnConfirm.click();
|
||||
}
|
||||
// doReset apre automaticamente il dialog di configurazione: chiudilo
|
||||
const cfgCancel = controllerPage.locator('.dialog-config .btn-cancel');
|
||||
if (await cfgCancel.isVisible()) {
|
||||
await cfgCancel.click();
|
||||
}
|
||||
await controllerPage.waitForTimeout(200);
|
||||
|
||||
// Home +1, Guest +1, Home +1
|
||||
|
||||
Reference in New Issue
Block a user