0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-12-01 12:21:02 +01:00
posthog/cypress/e2e/actions.cy.ts
Michael Matloka ba84454531
fix(3000): Ensure all scenes work well with the new top bar (#18890)
* Remove dark mode `KeyboardShortcut` color hack

* Ensure that top bar is always compact at bottom of scene

* Remove top bar renaming from Notebooks

* Refactor the experiment scene to use `PageHeader` properly

* Improve `EditableField` sizing

* Add top bar renaming to actions and playlists

* Sort KeyboardShortcut.scss

* Fix missing warehouse mocks and strictly prevent toasts

* Fix CompactList divider width

* Fix missing early return

* Fix random typos

* Fix casing of buttons

* Reorder definition view top bar buttons

* Update Cypress test

* Fix typo

Co-authored-by: David Newell <d.newell1@outlook.com>

* Update casing in E2E test too

* Update UI snapshots for `chromium` (1)

* Update UI snapshots for `chromium` (1)

---------

Co-authored-by: David Newell <d.newell1@outlook.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-11-27 15:27:00 +00:00

62 lines
2.3 KiB
TypeScript

const createAction = (actionName: string): void => {
cy.get('[data-attr=create-action]').click()
cy.get('.LemonButton').should('contain', 'From event or pageview')
cy.get('[data-attr=new-action-pageview]').click()
cy.get('[data-attr=action-name-create]').should('exist')
cy.get('[data-attr=action-name-create]').type(actionName)
cy.get('.LemonSegmentedButton > ul > :nth-child(3)').click()
cy.get('[data-attr=edit-action-url-input]').click().type(Cypress.config().baseUrl)
cy.get('[data-attr=save-action-button]').first().click()
cy.contains('Action saved').should('exist')
}
function navigateToActionsTab(): void {
cy.clickNavMenu('datamanagement')
cy.get('[data-attr=data-management-actions-tab]').click()
}
describe('Action Events', () => {
let actionName
beforeEach(() => {
navigateToActionsTab()
actionName = Cypress._.random(0, 1e6)
})
it('Create action event', () => {
createAction(actionName)
// Test the action is immediately available
cy.clickNavMenu('insight')
cy.get('[data-attr="menu-item-insight"]').click()
cy.contains('Add graph series').click()
cy.get('[data-attr=trend-element-subject-1]').click()
cy.get('[data-attr=taxonomic-filter-searchfield]').type(actionName)
cy.get('[data-attr=taxonomic-tab-actions]').click()
cy.get('[data-attr=prop-filter-actions-0]').click()
cy.get('[data-attr=trend-element-subject-1] span').should('contain', actionName)
})
it('Notifies when an action event with this name already exists', () => {
createAction(actionName)
navigateToActionsTab()
createAction(actionName)
// Oh noes, there already is an action with name `actionName`
cy.contains('Action with this name already exists').should('exist')
// Let's see it
cy.contains('Click here to edit').click()
// We should now be seeing the action from "Create action"
cy.get('[data-attr=edit-action-url-input]').should('have.value', Cypress.config().baseUrl)
})
it('Click on an action', () => {
cy.get('[data-attr=actions-table]').should('exist')
cy.get('[data-attr=action-link-0]').click()
cy.get('[data-attr=action-name-edit]').should('exist')
})
})