describe('template spec', () => { it('passes', () => { cy.visit('https://magali-contensin.pedaweb.univ-amu.fr/extranet/imdb/films/year/2000/genre/action') // cy.title() récupère le titre de la page HTML (contenu de l’élément title) // Le . permet de chaîner : le résultat de title() est utilisé par should // L’assertion should vérifie que la valeur de title est exactement Films // eq est une abréviation de equal (égalité stricte) cy.title().should('eq', 'Films') // cy.get(sel) sélectionne les éléments du DOM correspondant au sélecteur CSS // Il y a un seul h1 dans la page => un seul élément retourné par cy.get('h1') // L’assertion should vérifie que le texte du h1 est 'Liste des films' cy.get('h1').should('contain.text', 'Liste') // 4. Vérifier que le champ du formulaire existe pour saisir l’année cy.get('input[id="year_exact"]').should('exist') // 5. Vérifier qu’il y a un select pour saisir le genre cy.get('select[id="genre"]').should('exist') // 6. Vérifier la présence du bouton d’envoi du formulaire de recherche cy.get('button[type="submit"]').should('exist').should('contain.text', 'Rechercher') // 7. Remplir le champ année du formulaire avec l’année 1980 cy.get('input[id="year_exact"]').clear().type('1980') // 8. Choisir le genre Action cy.get('select[id="genre"]').select('Action') // 9. Cliquer sur le bouton « Rechercher » cy.get('button[type="submit"]').filter(':contains("Rechercher")').click() // 10. Vérifier que le résultat comporte un film dont le titre contient « The Empire Strikes Back » cy.get('div[class="card-body"]').contains("The Empire Strikes Back") // 11. Cliquer sur le lien qui montre le casting pour ce film cy.get('div[class="card-body"]').get('h5').filter(':contains("The Empire Strikes Back")').parent().find('a[title="Voir le casting"]').click() // 12. Vérifier que la page chargée contient /film/ dans l’URL cy.url().should('include', '/film/') // 13. Vérifier que la page affichée contient exactement le titre h3 Distribution cy.get('h3').should('have.text', 'Distribution') // 14. Cliquer sur le 2e acteur affiché (Harrison Ford) cy.get('div[class="card-body"]').get('a').filter(':contains("Harrison Ford")').click() // 15. Vérifier que la page chargée contient /person/ dans l’URL cy.url().should('include', '/person/') // 16. Cliquer sur le lien du film Blade Runner cy.get('div[class="card-body"]').get('a').filter(':contains("Blade Runner")').eq(0).click() // 17. Vérifier que le titre du film affiché contient Blade Runner cy.get('h3').should('contain.text', 'Blade Runner') }) })