Last active 1 day ago

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