|
| 1 | +import { defineFeature, loadFeature } from 'jest-cucumber'; |
| 2 | +import { render, screen } from 'shared/testsUtils/customRender'; |
| 3 | +import { |
| 4 | + JeSuisUnUtilisateurConnuEtConnecteAvecleProfil, |
| 5 | + LaPageContientUnTableau, |
| 6 | + LeTableauContientLesLignesCorrespondantAuxDonneesRecues, |
| 7 | + LeTableauPresenteDesEntetesDeColonnesDansLOrdreSuivant, |
| 8 | +} from 'shared/testsUtils/sharedScenarios'; |
| 9 | +import Employees from '../Employees'; |
| 10 | + |
| 11 | +const feature = loadFeature('features/Demos/Employees/Employees.feature'); |
| 12 | +const tableItemsType = 'collaborateurs'; |
| 13 | + |
| 14 | +defineFeature(feature, test => { |
| 15 | + let role: string; |
| 16 | + |
| 17 | + test('Affichage de la liste des collaborateurs', ({ given, when, then, and }) => { |
| 18 | + JeSuisUnUtilisateurConnuEtConnecteAvecleProfil(given, (roleMock: string) => { |
| 19 | + role = roleMock; |
| 20 | + }); |
| 21 | + |
| 22 | + when("J'accède à la page des collaborateurs", async () => { |
| 23 | + render(<Employees />, {}, { role }); |
| 24 | + expect(await screen.findByText(/Samuel/)).toBeInTheDocument(); |
| 25 | + }); |
| 26 | + |
| 27 | + LaPageContientUnTableau(then, 'la page contient un tableau répertoriant la liste des collaborateurs', tableItemsType); |
| 28 | + |
| 29 | + LeTableauPresenteDesEntetesDeColonnesDansLOrdreSuivant( |
| 30 | + and, |
| 31 | + /^le tableau présente des entêtes de colonnes dans l’ordre suivant : "(.*)", "(.*)", "(.*)"$/, |
| 32 | + tableItemsType, |
| 33 | + ); |
| 34 | + |
| 35 | + LeTableauContientLesLignesCorrespondantAuxDonneesRecues( |
| 36 | + and, |
| 37 | + /^le tableau contient (\d+) lignes avec (\d+) colonnes dans l'ordre suivant :$/, |
| 38 | + tableItemsType, |
| 39 | + ); |
| 40 | + }); |
| 41 | +}); |
0 commit comments