Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(PC-32595)[PRO] refactor: test e2e #14708

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

Aliochka
Copy link
Contributor

@Aliochka Aliochka commented Oct 22, 2024

But de la pull request

Ticket Jira (ou description si BSR) : https://passculture.atlassian.net/browse/PC-32595

  • déduplication
  • passage des intercept en haut de test
  • fonctions en bas de page

Vérifications

  • J'ai écrit les tests nécessaires
  • J'ai mis à jour le fichier des plans de tests du portail pro si nécessaire
  • J'ai mis à jour la liste des routes et des titres de pages du portail pro si j'en ai rajouté/modifié ou supprimé une.
  • J'ai relu attentivement les migrations, en particulier pour éviter les locks, et je préviens les équipes Shérif et Data
  • J'ai ajouté des screenshots pour d'éventuels changements graphiques

Copy link
Contributor

github-actions bot commented Oct 22, 2024

Visit the preview URL for this PR (updated for commit f414361):

https://pc-pro-testing--pr14708-pc-32595-refacto-e2e-jygx3uob.web.app

(expires Thu, 24 Oct 2024 09:50:13 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 032d233ee67e1c50d6af12e29c936c7076770eb1

@@ -178,3 +137,44 @@ describe('Search for collective bookings', () => {
expectOffersAreFound(expectedResults)
})
})

function expectOffersAreFound(expectedResults: Array<Array<string>>) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cette fonction peut être mutualisée pour toutes les vérifications d'offres affichées dans:

  • collectiveBooking
  • searchCollectiveOffer
  • searchIndividualOffer

Plus on peut vérifier le nombre de lignes et le texte x offres dans cette fonction

}
}

function IGoToCollectivePage(login: string) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Peut-on en faire un fonction pour tous les cas se logguant et allant sur une page précise (également pour accueil):
IConnectAndGoPage(login: string, url: string) soit pour:

  • ici collectiveBooking
  • createIndividualOffer
  • desk
  • editDigitalIndividualOffer
  • financialManagement
  • navigation
  • searchCollectiveOffer
  • searchIndividualOffer
  • signupJourneyCreateOfferer
  • venue

@@ -242,3 +235,10 @@ describe('Cookie management with login', () => {
cy.get('#orejime-app-item-beamer').should('not.be.checked')
})
})

function homePageLoaded(): void {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

également utilisée par navigation....à intégrer dans IConnectAndGoPage dans le cas où on fait un simple login en restant sur l'accueil.

@@ -2,7 +2,6 @@ import { addDays, format } from 'date-fns'

describe('Desk (Guichet) feature', () => {
let login: string
const password = 'user@AZERTY123'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ce password par défaut est défini dans plusieurs tests, on devrait pouvoir le définir une seule fois pour tous les tests

@@ -11,6 +11,9 @@ describe('Financial Management - messages, links to external help page, reimburs
login = response.body.user.email
})
cy.intercept({ method: 'GET', url: '/offerers/*' }).as('getOfferers')
cy.intercept({ method: 'PATCH', url: 'offerers/*/bank-accounts/*' }).as(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Attention, ceci a été changé dans le dernier fix financialManagement, à rebaser

@@ -182,6 +182,14 @@ describe('ADAGE discovery', () => {
},
})
).as('searchOfferTemplate')
cy.intercept({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est pas mal de mettre tous les intercept dans le before, ça posait problème avec cucumber, mais là c'est bien!
J'ai vu, dans createIndividualOffer que celle-ci est déclarée 2 fois:

  • cy.intercept({ method: 'POST', url: '/stocks/bulk' }).as('postStocks')

Peux-tu en profiter pour éviter ce(s) doublon(s) ?

@@ -79,6 +79,14 @@ describe('Signup journey with new venue', () => {
})
).as('search1Address')
cy.intercept({ method: 'GET', url: '/offerers/names' }).as('getOfferers')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ces intercept sont déclarés dans les 2 describe On pourrait faire un describe global avec un beforeEach() dans lequel on pourrait ces intercept. Qu'en penses-tu ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants