Tests de cas limites
Il est important de ne pas seulement tester les cas représentant le comportement souhaité de l'application.
Une effet, un scénario de test complet doit tester des cas limites ou des cas jugés comme invalides. Par exemple, que lorsqu'une erreur survient, un message d'erreur est bien affiché.
Un exemple de ce genre de cas limites est lors du chargement d'une liste d'items. En cas d'erreur, un message est affiché. Nous pourrions faire un mock de la requête d'API et retourner une erreur 500, en plus de vérifier que le texte du message d'erreur est dans la page.
tests/projets.spec.ts
test('la page projets affiche un message en cas d\'erreur', async ({ page }) => {
await page.goto('http://localhost:4200/projets');
await page.route('http://localhost:3000/projets', (route) => {
route.fulfill({
status: 500,
});
});
await expect(page.locator('.alert.alert-danger')).toContainText('Une erreur est survenue lors du chargement des projets.');
});