diff --git a/cypress/integration/apside.spec.ts b/cypress/integration/apside.spec.ts index d2392a9..b7f99c8 100644 --- a/cypress/integration/apside.spec.ts +++ b/cypress/integration/apside.spec.ts @@ -1,26 +1,34 @@ -import {goToCompoundDashboard} from '../../support/common/action.spec'; +import * as action from '../support/common/action.spec'; +import * as validators from '../support/common/validators'; + describe('Test Page d\'accueil APSIDE .com', () => { beforeEach(() => { - + // ICI faire les action redondante à chaque test + // Exemple authentification avant chaque test }); it('Visité apside.com ', function() { + // Se rendre sur le path "/"" du site configuré dans ./cypress/config/cypress.{env}.json cy.visit('/'); - cy.get('.titreBigOrange').should('be.visible'); - cy.get('.titreBigOrange').should('have.text', 'INNOVATION'); + + //------------ ASSERTION ------------// + validators.titreBigOrangeValidator('INNOVATION'); }); it('Visité et trouver APSIDE TOURS ', function() { + // Se rendre sur le path "/"" du site configuré dans ./cypress/config/cypress.{env}.json cy.visit('/'); - cy.get('.search_menu').click(); - cy.get('#search').type('TOURS'); - cy.get('#search_btn').click(); + + action.search('TOURS'); + + //Click sur le boutton de la premiere vignette d'apside recherche + // ATTENTION ICI si la recherche ne remonte pas dans le même orde que lors de mon test le test echoura cy.get('.first > .lanceurBlog > .texte > .intro > .btn-plus2').click(); - cy.get('.titreBigBleu').should('be.visible'); - cy.get('.titreBigBleu').should('have.text', 'Apside Tours'); + //------------ ASSERTION ------------// + validators.titreBigBleuValidator('Apside Tours'); }); }); \ No newline at end of file diff --git a/cypress/support/common/action.spec.ts b/cypress/support/common/action.spec.ts index deede14..1712f9f 100644 --- a/cypress/support/common/action.spec.ts +++ b/cypress/support/common/action.spec.ts @@ -1,11 +1,22 @@ -import * as faker from 'faker'; +// Search Action +// NOTE // +// N'hesité pas a créer de fichier d'action autant que vous avez de metier a tester ;-) +// Here some link ==> +// https://www.cypress.io/blog/2019/01/03/stop-using-page-objects-and-start-using-app-actions/ -// Compound's Actions export function openSearchBar() { - // TODO do exemple + // Click su le bouton de recherche + cy.get('.search_menu').click(); + cy.log('Clique sur le boutton de recherche'); } -export function search(query: String) { - // TODO do exemple +export function search(query: string) { + openSearchBar(); + // Tappe "TOURS" dans l'input de recherche + cy.get('#search').type(query); + cy.log('Tappe la recherche: ' + query); + // Clicker sur le bouton d'action de recherch + cy.get('#search_btn').click(); + cy.log('Clique sur le boutton d`\'action de recherche'); } diff --git a/cypress/support/common/validators.ts b/cypress/support/common/validators.ts index ab9a053..968cbc8 100644 --- a/cypress/support/common/validators.ts +++ b/cypress/support/common/validators.ts @@ -1,5 +1,15 @@ /// // Field validator -export function fieldErrorValidator(){ - // TODO do an exemple +export function titreBigBleuValidator(textToVerify: string){ + // Verifie que le titre de la page est visible + cy.get('.titreBigBleu').should('be.visible'); + // Verifie que le titre est exactement "Apside Tours"(case sensitive) + cy.get('.titreBigBleu').should('have.text', textToVerify); +} + +export function titreBigOrangeValidator(textToVerify: string){ + // Verifie que le titre de la page est visible + cy.get('.titreBigOrange').should('be.visible'); + // Verifie que le titre est exactement "INNOVATION" (case sensitive) + cy.get('.titreBigOrange').should('have.text', textToVerify); }