mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-24 00:47:50 +01:00
28 lines
1014 B
JavaScript
28 lines
1014 B
JavaScript
|
const { setupPage } = require('@storybook/test-runner')
|
||
|
const PlaywrightEnvironment = require('jest-playwright-preset/lib/PlaywrightEnvironment').default
|
||
|
|
||
|
class CustomEnvironment extends PlaywrightEnvironment {
|
||
|
async setup() {
|
||
|
await super.setup()
|
||
|
await setupPage(this.global.page, this.global.context)
|
||
|
}
|
||
|
|
||
|
async teardown() {
|
||
|
await super.teardown()
|
||
|
}
|
||
|
|
||
|
async handleTestEvent(event) {
|
||
|
if (event.name === 'test_done' && event.test.errors.length > 0) {
|
||
|
// Take screenshots on test failures - these become Actions artifacts
|
||
|
const parentName = event.test.parent.parent.name.replace(/\W/g, '-').toLowerCase()
|
||
|
const specName = event.test.parent.name.replace(/\W/g, '-').toLowerCase()
|
||
|
await this.global.page.screenshot({
|
||
|
path: `frontend/__snapshots__/__failures__/${parentName}--${specName}.png`,
|
||
|
})
|
||
|
}
|
||
|
await super.handleTestEvent(event)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = CustomEnvironment
|