0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-12-01 04:12:23 +01:00
posthog/cypress/e2e/dashboardPremium.js
Paul D'Ambra d613f4bd06
chore: upgrade cypress to v10x (#9650)
* update cypress

* really click something that's actually there

* obey cypress and use done

* run cypress 9 in CI

* no need for before each when only one test

* no need to set window size to the default

* get tests passing file by file

* delay checking for a graph in a test

* be more specific cypress

* use cy command

* select text like a human

* silly cypress

* try and avoid cypress deciding that a visible field is not valid

* select delete button correctly

* find save button differently

* try and avoid not always typing the first character

* better trends selections

* use cy command to navigate

* conitnue trying to get tests to pass in CI

* another try at setting feature flag names in CI

* can CI find undo button without a wait?

* better assertion for cypress

* up to v10

* fix splitting specs with v10 path

* show cypress how to wait for the test to finish

* remove redundant file

* change return to satisfy new cypress

* move import
2022-06-09 11:14:21 +01:00

39 lines
1.6 KiB
JavaScript

describe('Dashboards Premium Features', () => {
beforeEach(() => {
cy.clickNavMenu('dashboards')
cy.location('pathname').should('include', '/dashboard')
})
// Taggables are an enterprise feature. Cypress isn't setup with a scale license so these
// tests should fail now that we make that license check in the backend and return a 402.
xit('Tag dashboard', () => {
const newTag = `test-${Math.floor(Math.random() * 10000)}`
cy.get('[data-attr=dashboard-name]').contains('App Analytics').click()
cy.get('[data-attr=button-add-tag]').click()
cy.focused().type(newTag)
cy.get('[data-attr=new-tag-option]').click()
cy.get('.ant-tag').should('contain', newTag)
cy.wait(300)
cy.get('.new-tag-input').should('not.exist') // Input should disappear
cy.clickNavMenu('dashboards')
cy.get('.ant-tag').should('contain', newTag) // Tag is shown in dashboard list too
})
xit('Cannot add duplicate tags', () => {
const newTag = `test2-${Math.floor(Math.random() * 10000)}`
cy.get('[data-attr=dashboard-name]').contains('App Analytics').click()
cy.get('[data-attr=button-add-tag]').click()
cy.focused().type(newTag)
cy.get('[data-attr=new-tag-option]').click()
cy.get('.ant-tag').should('contain', newTag)
cy.get('[data-attr=button-add-tag]').click()
cy.focused().type(newTag)
cy.get('[data-attr=new-tag-option]').click()
cy.get('.Toastify__toast--error').should('be.visible')
cy.get('.dashboard').find('.ant-tag').contains(newTag).should('have.length', 1)
})
})