0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-24 18:07:17 +01:00
posthog/cypress/e2e/exports.cy.ts
2023-03-02 15:56:31 +00:00

47 lines
1.8 KiB
TypeScript

import { urls } from 'scenes/urls'
import { decideResponse } from '../fixtures/api/decide'
// NOTE: As the API data is randomly generated, we are only really testing here that the overall output is correct
// The actual graph is not under test
describe('Exporting Insights', () => {
beforeEach(() => {
cy.intercept('https://app.posthog.com/decide/*', (req) =>
req.reply(
decideResponse({
'export-dashboard-insights': true,
})
)
)
cy.visit(urls.insightNew())
// apply filter
cy.get('[data-attr=insight-filters-add-filter-group]').click()
cy.get('[data-attr=property-select-toggle-0]').click()
cy.get('[data-attr=taxonomic-filter-searchfield]').click()
cy.get('[data-attr=prop-filter-event_properties-1]').click({ force: true })
cy.get('[data-attr=prop-val] input').type('not-applicable')
cy.get('[data-attr=prop-val] input').type('{enter}')
// Save
cy.get('[data-attr="insight-save-button"]').click()
})
it('Export an Insight to png', () => {
cy.get('[data-attr="insight-edit-button"]').should('exist') // Export is only available in view mode
cy.get('.page-buttons [data-attr=more-button]').click()
cy.get('.Popover [data-attr=export-button]').click()
cy.get('[data-attr=export-button-png]').click()
// Ensure that no popovers are being shown
cy.wait(500)
cy.get('.Popover').should('not.exist')
const expectedFileName = 'export-pageview-count.png'
cy.task('compareToReferenceImage', {
source: expectedFileName,
reference: `../data/exports/${expectedFileName}`,
diffThreshold: 0.01,
})
})
})