/** * Tests E2E — Navigation dans la sidebar * * Verifie que chaque element de la sidebar affiche la bonne vue. */ import { test, expect } from './electron-app'; test.describe('Navigation sidebar', () => { test('Cliquer sur "Tableau de bord" affiche le dashboard', async ({ page }) => { await page.click('.sb-item[data-view="dashboard"]'); // Le dashboard est la vue par defaut, verifions que le contenu est affiche await expect(page.locator('#enclos-content')).not.toBeEmpty(); }); test('Cliquer sur "Statistiques" affiche la vue statistiques', async ({ page }) => { await page.click('.sb-item[data-view="statistiques"]'); await expect(page.locator('#enclos-content')).not.toBeEmpty(); }); test('Cliquer sur un enclos affiche la vue enclos', async ({ page }) => { // Le premier enclos a un data-view numerique (son id) const firstEnclos = page.locator('.sb-item[data-view]').filter({ has: page.locator('.sb-dot'), }).first(); await firstEnclos.click(); // La vue enclos contient le conteneur .enclos-view await expect(page.locator('.enclos-view')).toBeVisible({ timeout: 5000 }); }); test('Cliquer sur "Accouplement" affiche la vue accouplement', async ({ page }) => { await page.click('.sb-item[data-view="accouplement"]'); await expect(page.locator('.accoup-view')).toBeVisible({ timeout: 5000 }); }); test('Cliquer sur "Reappro" affiche la vue reappro', async ({ page }) => { await page.click('.sb-item[data-view="appro"]'); await expect(page.locator('#enclos-content')).not.toBeEmpty(); }); test('Cliquer sur "Inventaire" affiche la vue inventaire', async ({ page }) => { await page.click('.sb-item[data-view="inventaire"]'); await expect(page.locator('#enclos-content')).not.toBeEmpty(); }); test('Cliquer sur "Workflows" affiche la vue workflows', async ({ page }) => { await page.click('.sb-item[data-view="workflows"]'); await expect(page.locator('#enclos-content')).not.toBeEmpty(); }); test('Cliquer sur "Parametres" affiche la vue parametres', async ({ page }) => { await page.click('.sb-item[data-view="parametres"]'); await expect(page.locator('#enclos-content')).not.toBeEmpty(); }); });