mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-24 09:14:46 +01:00
485fd52607
* toggle upgrade language depending on flag value * forgot some local changes * update credit card case language * Update UI snapshots for `chromium` (1) * add event to record subscription status * Update UI snapshots for `chromium` (1) * Update UI snapshots for `chromium` (2) * add tests * remove length check * Update UI snapshots for `chromium` (1) * Update UI snapshots for `chromium` (1) * Update UI snapshots for `webkit` (2) * Update UI snapshots for `chromium` (2) * Update UI snapshots for `webkit` (2) * Update UI snapshots for `chromium` (2) * make common button component * some more small changes * Update UI snapshots for `webkit` (2) * Update UI snapshots for `webkit` (2) * remove extraneous files * remove optional chaining * Update UI snapshots for `webkit` (2) * Update UI snapshots for `webkit` (2) * Update UI snapshots for `webkit` (2) * remove test...rename event * Update UI snapshots for `chromium` (1) * didn't save before commiting * undo changes to billing cypress test * Update UI snapshots for `chromium` (1) * Update UI snapshots for `chromium` (2) * finally get cypress to work! * small fix to test * Update UI snapshots for `chromium` (2) * Update UI snapshots for `chromium` (2) * remove from paygate mini * Update UI snapshots for `chromium` (1) * Update UI snapshots for `chromium` (2) * Update UI snapshots for `chromium` (1) * remove paygate test * Update UI snapshots for `webkit` (2) * Update UI snapshots for `chromium` (2) * Update UI snapshots for `chromium` (2) * remove extraneous files * remove files! * Update UI snapshots for `webkit` (2) * Update UI snapshots for `chromium` (1) * Update UI snapshots for `chromium` (2) * Update UI snapshots for `chromium` (1) * Update UI snapshots for `chromium` (1) * update tests * Update UI snapshots for `webkit` (2) * Update UI snapshots for `chromium` (1) * Update UI snapshots for `chromium` (2) --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Raquel Smith <raquelmsmith@users.noreply.github.com>
58 lines
2.3 KiB
TypeScript
58 lines
2.3 KiB
TypeScript
import { decideResponse } from '../fixtures/api/decide'
|
|
import * as fflate from 'fflate'
|
|
|
|
// Mainly testing to make sure events are fired as expected
|
|
|
|
describe('Billing Upgrade CTA', () => {
|
|
beforeEach(() => {
|
|
cy.intercept('**/decide/*', (req) =>
|
|
req.reply(
|
|
decideResponse({
|
|
'billing-upgrade-language': 'credit_card',
|
|
})
|
|
)
|
|
)
|
|
|
|
cy.intercept('/api/billing-v2/', { fixture: 'api/billing-v2/billing-v2-unsubscribed.json' })
|
|
})
|
|
|
|
it('Check that events are being sent on each page visit', () => {
|
|
cy.visit('/organization/billing')
|
|
cy.get('[data-attr=product_analytics-upgrade-cta] .LemonButton__content').should('have.text', 'Add credit card')
|
|
cy.window().then((win) => {
|
|
const events = (win as any)._cypress_posthog_captures
|
|
|
|
const matchingEvents = events.filter((event) => event.event === 'billing CTA shown')
|
|
// One for each product card
|
|
expect(matchingEvents.length).to.equal(4)
|
|
})
|
|
|
|
// Mock billing response with subscription
|
|
cy.intercept('/api/billing-v2/', { fixture: 'api/billing-v2/billing-v2.json' })
|
|
cy.reload()
|
|
|
|
cy.get('[data-attr=session_replay-upgrade-cta] .LemonButton__content').should('have.text', 'Add paid plan')
|
|
cy.intercept('POST', '**/e/?compression=gzip-js*').as('capture3')
|
|
cy.window().then((win) => {
|
|
const events = (win as any)._cypress_posthog_captures
|
|
|
|
const matchingEvents = events.filter((event) => event.event === 'billing CTA shown')
|
|
expect(matchingEvents.length).to.equal(4)
|
|
})
|
|
|
|
cy.intercept('/api/billing-v2/', { fixture: 'api/billing-v2/billing-v2-unsubscribed.json' })
|
|
// Navigate to the onboarding billing step
|
|
cy.visit('/products')
|
|
cy.get('[data-attr=product_analytics-onboarding-card]').click()
|
|
cy.get('[data-attr=onboarding-breadcrumbs] > :nth-child(5)').click()
|
|
|
|
cy.intercept('POST', '**/e/?compression=gzip-js*').as('capture4')
|
|
cy.window().then((win) => {
|
|
const events = (win as any)._cypress_posthog_captures
|
|
|
|
const matchingEvents = events.filter((event) => event.event === 'billing CTA shown')
|
|
expect(matchingEvents.length).to.equal(3)
|
|
})
|
|
})
|
|
})
|