b49dd03e25
* test(e2e): use electron * build: use default container for cypress-test-matrix
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import codeCoverageTask from '@cypress/code-coverage/task'
|
|
import { defineConfig } from 'cypress'
|
|
import { setupHardhatEvents } from 'cypress-hardhat'
|
|
import { unlinkSync } from 'fs'
|
|
|
|
export default defineConfig({
|
|
projectId: 'yp82ef',
|
|
defaultCommandTimeout: 24000, // 2x average block time
|
|
chromeWebSecurity: false,
|
|
experimentalMemoryManagement: true, // better memory management, see https://github.com/cypress-io/cypress/pull/25462
|
|
retries: { runMode: 2 },
|
|
videoCompression: false,
|
|
e2e: {
|
|
async setupNodeEvents(on, config) {
|
|
await setupHardhatEvents(on, config)
|
|
codeCoverageTask(on, config)
|
|
|
|
// Delete recorded videos for specs that passed without flakes.
|
|
on('after:spec', async (spec, results) => {
|
|
if (results && results.video) {
|
|
// If there were no failures (including flakes), delete the recorded video.
|
|
if (!results.tests?.some((test) => test.attempts.some((attempt) => attempt?.state === 'failed'))) {
|
|
unlinkSync(results.video)
|
|
}
|
|
}
|
|
})
|
|
|
|
return config
|
|
},
|
|
baseUrl: 'http://localhost:3000',
|
|
specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}',
|
|
},
|
|
})
|