0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-28 18:26:15 +01:00
posthog/cypress/integration/cohorts.js
Karl-Aksel Puulmann a5be4f2c33
Add 'cohorts' tab to Person page (#3744)
* Add a cohort tab to Person page

Closes #3743

* Add E2E test navigating from cohort -> person -> back
2021-03-25 17:24:36 +02:00

50 lines
1.8 KiB
JavaScript

describe('Cohorts', () => {
beforeEach(() => {
cy.get('[data-attr=menu-item-cohorts]').click()
})
it('Cohorts new and list', () => {
// load an empty page
cy.get('h1').should('contain', 'Cohorts')
cy.title().should('equal', 'Cohorts • PostHog')
// go to create a new cohort
cy.get('[data-attr="create-cohort"]').click()
cy.get('[data-attr="cohort-choice-definition"]').click()
cy.get('[data-attr="cohort-name"]').type('Test Cohort')
// select "add filter" and "property"
cy.get('.ant-radio-group > :nth-child(2)').click()
cy.get('[data-attr="new-prop-filter-cohort_0"]').click()
// select the first property
cy.get('[data-attr=property-filter-dropdown]').click()
cy.get('[data-attr=prop-filter-person-0]').click({ force: true })
cy.get('[data-attr=prop-val]').click()
cy.get('[data-attr=prop-val-0]').click({ force: true })
cy.get('[data-attr="cohort-name"]').click()
// save
cy.get('[data-attr="save-cohort"]').click()
cy.get('[data-attr=success-toast]').should('exist')
// back to cohorts
cy.get('.ant-drawer-close').click({ force: true })
cy.get('.ant-table-tbody').contains('Test Cohort')
// Navigate to person and back again
cy.log('Can navigate to person and back again')
cy.get('[data-test-cohort-row]').first().click()
cy.get('[data-test-goto-person]').first().click()
cy.url().should('include', '/person/')
cy.get('[data-attr="persons-cohorts-tab"]').click()
cy.get('[data-test-cohort-row]').first().click()
cy.url().should('include', '/cohorts/')
cy.get('[data-attr="cohort-name"]').should('have.value', 'Test Cohort')
})
})