web-dev-qa-db-fra.com

Test d'une redirection vers une nouvelle route avec Cypress

J'utilise Cypress pour tester mon application Web.

Cet extrait fonctionne actuellement et proposera une nouvelle chose:

describe('The Create Page', () => {
  it('successfully creates a thing', () => {
    cy.visit('/create')
    cy.get('input[name=description]').type('Hello World')
    cy.get('button#submit')
      .click()

    // After POST'ing this data via AJAX, the web app then
    // receives the id of the new thing that was just created
    // and redirects the user to /newthing/:id
    // How do I test that this redirection worked?
  })
})

Comme l'illustre le commentaire, je ne sais pas comment tester si la redirection vers la nouvelle route fonctionne. Je peux voir dans la simulation du navigateur que la redirection fonctionne, je veux juste ajouter un test pour cela.

Merci!!!

11
SeanPlusPlus

Ce que vous devez faire, c'est affirmer que l'URL est dans l'état attendu.

Il existe de nombreuses commandes dans Cypress qui peuvent être utilisées pour faire des assertions sur l'URL. Plus précisément, cy.url() , cy.location() ou cy.hash() peut répondre à vos besoins. Le meilleur exemple de votre cas d'utilisation serait probablement le suivant:

cy.location('pathname').should('eq', '/newthing/:id')
16
Jennifer Shehane