d67f3669d6
- nuovo tests/e2e/helpers.cjs: openController (viewport portrait per il layout mobile), openDisplay, resetGame, addPoints - resetGame gestisce il dialog di vittoria persistente e reimposta i nomi di default (lo stato è condiviso e persistente: serve per il determinismo) - full-match/game-simulation: gestito il dialog SET VINTO automatico a 25/15 - basic-flow/game-operations: migrati agli helper condivisi
29 lines
1.4 KiB
JavaScript
29 lines
1.4 KiB
JavaScript
const { test, expect } = require('@playwright/test');
|
|
const { openController, openDisplay, resetGame, addPoints } = require('./helpers.cjs');
|
|
|
|
test.describe('Game Simulation', () => {
|
|
test('Simulazione Partita: Controller aggiunge punti finché non cambia il set', async ({ context }) => {
|
|
const displayPage = await openDisplay(context);
|
|
const controllerPage = await openController(context);
|
|
|
|
await resetGame(controllerPage);
|
|
|
|
// Porta Home a 25: in ControllerPage il click su .team-score.home-bg
|
|
// incrementa i punti home. A 25-0 scatta la vittoria del set.
|
|
await addPoints(controllerPage, 'home', 25);
|
|
|
|
// A 25-0 compare automaticamente il dialog "SET VINTO"
|
|
await expect(controllerPage.locator('.team-score.home-bg .team-pts')).toHaveText('25');
|
|
await controllerPage.waitForSelector('.dialog-winner');
|
|
|
|
// Procedi al set successivo: registra il set vinto da Home
|
|
await controllerPage.getByText('VAI AL SET SUCCESSIVO').click();
|
|
// doNuovoSet riapre il dialog di configurazione: chiudilo
|
|
await controllerPage.locator('.dialog-config .btn-cancel').click();
|
|
await controllerPage.waitForTimeout(300);
|
|
|
|
// Verifica che il set Home sia incrementato a 1
|
|
await expect(controllerPage.locator('.team-score.home-bg .team-set')).toContainText('SET 1');
|
|
});
|
|
});
|