-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Expand file tree
/
Copy pathcypress.config.ts
More file actions
77 lines (71 loc) · 2.78 KB
/
Copy pathcypress.config.ts
File metadata and controls
77 lines (71 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import { defineConfig } from 'cypress'
import { initGitRepoForTestProject, resetGitRepoForTestProject } from './cypress/tasks/git'
import { writeMochaEventSnapshot, readMochaEventSnapshot } from './cypress/tasks/mochaEvents'
import { setupCyInCyVariables } from '@packages/frontend-shared/cypress/tasks/cy-in-cy-variables'
export default defineConfig({
/**
* NOTE: currently using Cypress.env() in the test config, so we need to set allowCypressEnv to true
* @percy/cypress: https://github.com/percy/percy-cypress/blob/master/index.js#L13
*/
allowCypressEnv: true,
projectId: 'ypt4pf',
retries: {
runMode: 2,
openMode: 0,
},
reporter: '../../node_modules/cypress-multi-reporters/index.js',
reporterOptions: {
configFile: '../../mocha-reporter-config.json',
},
experimentalMemoryManagement: true,
experimentalCspAllowList: false,
experimentalInteractiveRunEvents: true,
experimentalRunAllSpecs: true,
component: {
experimentalSingleTabRunMode: true,
viewportWidth: 800,
viewportHeight: 850,
supportFile: 'cypress/component/support/index.ts',
specPattern: 'src/**/*.{spec,cy}.{js,jsx,ts,tsx}',
devServer: {
bundler: 'vite',
framework: 'vue',
},
},
hosts: {
'foobar.com': '127.0.0.1',
},
e2e: {
experimentalOriginDependencies: true,
baseUrl: 'http://localhost:5555',
supportFile: 'cypress/e2e/support/e2eSupport.ts',
numTestsKeptInMemory: 1,
async setupNodeEvents (on, config) {
if (!process.env.HTTP_PROXY_TARGET_FOR_ORIGIN_REQUESTS) {
throw new Error('HTTP_PROXY_TARGET_FOR_ORIGIN_REQUESTS is missing. Close Cypress and run tests using the `yarn cypress:*` commands from the `packages/app` directory')
}
// Delete this as we only want to honor it on parent Cypress when doing E2E Cypress in Cypress testing
delete process.env.HTTP_PROXY_TARGET_FOR_ORIGIN_REQUESTS
delete process.env.CYPRESS_INTERNAL_E2E_TESTING_SELF_PARENT_PROJECT
process.env.CYPRESS_INTERNAL_E2E_TESTING_SELF = 'true'
process.env.CYPRESS_INTERNAL_VITE_OPEN_MODE_TESTING = 'true'
const { e2ePluginSetup } = require('@packages/frontend-shared/cypress/e2e/e2ePluginSetup')
const { setCyInCyVariables, getCyInCyVariables } = setupCyInCyVariables()
on('task', {
initGitRepoForTestProject,
resetGitRepoForTestProject,
writeMochaEventSnapshot,
readMochaEventSnapshot,
setCyInCyVariables,
getCyInCyVariables,
})
return await e2ePluginSetup(on, config)
},
},
// @ts-ignore We are setting these namespaces in order to properly test Cypress in Cypress
clientRoute: '/__app/',
namespace: '__cypress-app',
socketIoRoute: '/__app-socket',
socketIoCookie: '__app-socket',
devServerPublicPathRoute: '/__cypress-app/src',
})