0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-24 18:07:17 +01:00
posthog/cypress/e2e/actions.cy.ts

61 lines
2.2 KiB
TypeScript
Raw Normal View History

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('.ant-radio-group > :nth-child(3)').click()
cy.get('[data-attr=edit-action-url-input]').click().type(Cypress.config().baseUrl)
cy.get('[data-attr=save-action-button]').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
Insight URL cleanup (#7201) * insight route refactor, part 1 * add fromItem to get redirects * fix some tests * adjust many more paths * fix test * move new insight creation into insight logic * fix a noisy test * simplify one test * open the url with the right filters * null fix * fix some more noisy tests * move saved insights to `/insights`, fix logic tests * fix cypress urls * fix some tests * fix even more insight urls * wait a bit longer * add old saved_insights redirect * this might not be there yet * rename newInsight -> insightNew * rename Scene.Insights -> Scene.Insight * also redirect old searches without fromItem * fix link * fix TS merge bugs * fix import * fix imports * fix tests * fix test * Run prettier * fix changes after merge * switch to a simpler scene * fix another test * fix "save as" reset * rerun tests * Insight Short URLs (#7259) * convert a bunch of things to user short_id instead of id * fix more TS errors * fix test * fix jest tests * various fixes * add wise words * type InsightShortId-s to make life easier * reduce a bit of test noise * use the InsightShortId in the URL * fix type * fix test * fix insight url preloading * pass dive dashboards as having insight short ids * fix short url redirect * mock scenelogic api * better types and tests * type fixes * fix bug of linking to ourselves * add back "id" * get rid of some "getInsightId" calls * two more * few more * refactor last usage of getInsightId * move files around and improve errors * make it simpler * small fixes * redirect to new url from old hashParam=42 * fix regression * alert the user if we could not find an insight with the old ID format * switch to a simpler scene * fix another test * Fix annotation creation * Make short ID friendlier * remove comments * simplify insight links from dashboards and saved insights * remove insight router * fix TS * Revert "remove insight router" This reverts commit e52f4749491ec2c2c90aab2d76715ad895460476. Co-authored-by: Michael Matloka <dev@twixes.com> Co-authored-by: Michael Matloka <dev@twixes.com>
2021-11-25 15:39:49 +01:00
cy.clickNavMenu('insight')
cy.get('[data-attr="sidebar-new-insights-overlay"][data-attr-insight-type="TRENDS"]').click()
cy.contains('Add graph series').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')
})
})