0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-12-01 12:21:02 +01:00
posthog/cypress/support/commands.js
2022-03-23 18:58:08 +01:00

33 lines
1.1 KiB
JavaScript

const patternHandler = {}
Cypress.Commands.add('interceptLazy', (pattern, handler) => {
patternHandler[pattern] = handler
return cy.intercept(pattern, (req) => {
req.reply(patternHandler[pattern]())
})
})
Cypress.Commands.add('login', () => {
// This function isn't used for every test anymore
cy.get('[data-attr=login-email]').type('test@posthog.com').should('have.value', 'test@posthog.com').blur()
cy.get('[data-attr=password]', { timeout: 5000 }).should('be.visible') // Wait for login precheck (note blur above)
cy.get('[data-attr=password]').type('12345678').should('have.value', '12345678')
cy.get('[type=submit]').click()
cy.location('pathname').should('not.eq', '/login') // Wait until login request fully completes
})
Cypress.Commands.add('overrideInterceptLazy', (pattern, handler) => {
patternHandler[pattern] = handler
})
Cypress.Commands.add('map', { prevSubject: true }, (subject, method) => {
return method(subject)
})
Cypress.Commands.add('clickNavMenu', (name) => {
cy.get(`[data-attr="menu-item-${name}"]`).click().should('have.class', 'LemonButton--highlighted')
})