mirror of
https://github.com/PostHog/posthog.git
synced 2024-12-01 12:21:02 +01:00
0cdfb2531a
* only load events table from the URL on allow list of URLs * add return type to function * pass scene URL into events table * use urlpattern to check if scene is loaded in events table * don't need to check if still on the same page as when loaded because urltoaction is now specific * which means we don't need url pattern matching at all * add scene url to events scene export's logic props * use a different action name for each run or retries can never complete as the action cannot be saved * do not poll results if moved away from sceneUrl * remove tabs from person/action event tables * so cypress can run locally * break the dependency of running one test first so the other can pass * move check into logic and add an e2e test Co-authored-by: Marius Andra <marius.andra@gmail.com>
64 lines
2.3 KiB
JavaScript
64 lines
2.3 KiB
JavaScript
const createAction = (actionName) => {
|
|
cy.get('[data-attr=create-action]').click()
|
|
cy.get('.ant-card-head-title').should('contain', 'event or pageview')
|
|
cy.get('[data-attr=new-action-pageview]').click()
|
|
cy.get('h1').should('contain', 'Creating action')
|
|
|
|
cy.get('[data-attr=edit-action-input]').type(actionName)
|
|
cy.get('.ant-radio-group > :nth-child(3)').click()
|
|
cy.get('[data-attr=edit-action-url-input]').type(Cypress.config().baseUrl)
|
|
cy.wait(300)
|
|
cy.focused().should('have.attr', 'data-attr', 'edit-action-url-input')
|
|
|
|
cy.get('[data-attr=save-action-button]').click()
|
|
|
|
cy.contains('Action saved').should('exist')
|
|
}
|
|
|
|
function navigateToActionsTab() {
|
|
cy.clickNavMenu('events')
|
|
cy.get('[data-attr=events-actions-tab]').click()
|
|
}
|
|
|
|
describe('Actions', () => {
|
|
let actionName
|
|
beforeEach(() => {
|
|
navigateToActionsTab()
|
|
actionName = Cypress._.random(0, 1e6)
|
|
})
|
|
|
|
it('Create action', () => {
|
|
createAction(actionName)
|
|
|
|
// Test the action is immediately available
|
|
cy.clickNavMenu('insights')
|
|
// cy.reload() //TODO is this only because of turbo mode?
|
|
|
|
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 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('h1').should('contain', 'Editing action')
|
|
})
|
|
})
|