* feat(testing): add generator to aid in the migration to cypress 10 cypress 10 introduces a new configuration format and new layout that requires update settings and files for e2e projects * feat(testing): cypress component tests for react/next initial work for cypress component tests for react and next * feat(testing): add support for v10 e2e cypress projects create the correct files for cypress projects >v10 and reorganize tests based on version to allow easier parsing of tests * feat(testing): add utils for modifying cypress v10 config provide ts transformers to take in an existing cypress config and update/add properties within the given configuration * fix(testing): fix tests affected by the cypress v10 changes update tests to assert the correct files/folders/file contents due to the cypress changes in v10 * cleanup(testing): move cypress component testing plugins into the respective packages move the plugins into out of cypress plugins into the specific vertical plugin to prevent issues with circular refs * cleanup(testing): bump cypress version bump to latest cypress v10 release * docs(testing): update docs for cypress 10 update cypress docs to include info about component testing and migration to cypress v10 * fix(repo): revert cypress version bump keep v9 of cypress installed for nx repo until v10 release * fix(testing): update cypress gen tsconfig and infer targets with converter * fix(testing): make sure tests use the cypress v10 (for the intermediate) * fix(testing): update target name after feedback * fix(testing): support multiple target w/custom configs for cypress v10 migration * fix(testing): refactor cy component tests into seperate verticals * feat(testing): create storybook cypress preset * fix(testing): clean up cy v10 migration * fix(testing): don't branch for cypress executor testingType * fix(testing): move cy comp test generator to next * fix(testing): bump cypress deps * fix(testing): clean up cy component testing generators * fix(testing): update cy component testing docs * fix(testign): dep check. runtime plugin pulls from @nrwl/react * fix(testing): move e2e into verticals * fix(testing): address PR feedback * fix(testing): clean up unit tests * feat(angular): support migrating angular cli workspaces using cypress v10 * chore(testing): update e2e tests * fix(testing): address pr feedback * chore(testing): remove cypress component testing for next.js * fix(testing): address pr feedback Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
import { workspaceRoot } from '@nrwl/devkit';
|
|
import { join, relative } from 'path';
|
|
|
|
interface BaseCypressPreset {
|
|
videosFolder: string;
|
|
screenshotsFolder: string;
|
|
video: boolean;
|
|
chromeWebSecurity: boolean;
|
|
}
|
|
|
|
export function nxBaseCypressPreset(pathToConfig: string): BaseCypressPreset {
|
|
const projectPath = relative(workspaceRoot, pathToConfig);
|
|
const offset = relative(pathToConfig, workspaceRoot);
|
|
const videosFolder = join(offset, 'dist', 'cypress', projectPath, 'videos');
|
|
const screenshotsFolder = join(
|
|
offset,
|
|
'dist',
|
|
'cypress',
|
|
projectPath,
|
|
'screenshots'
|
|
);
|
|
|
|
return {
|
|
videosFolder,
|
|
screenshotsFolder,
|
|
video: true,
|
|
chromeWebSecurity: false,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* nx E2E Preset for Cypress
|
|
* @description
|
|
* this preset contains the base configuration
|
|
* for your e2e tests that nx recommends.
|
|
* you can easily extend this within your cypress config via spreading the preset
|
|
* @example
|
|
* export default defineConfig({
|
|
* e2e: {
|
|
* ...nxE2EPreset(__dirname)
|
|
* // add your own config here
|
|
* }
|
|
* })
|
|
*
|
|
* @param pathToConfig will be used to construct the output paths for videos and screenshots
|
|
*/
|
|
export function nxE2EPreset(pathToConfig: string) {
|
|
return {
|
|
...nxBaseCypressPreset(pathToConfig),
|
|
fileServerFolder: '.',
|
|
supportFile: 'src/support/e2e.ts',
|
|
specPattern: 'src/**/*.cy.{js,jsx,ts,tsx}',
|
|
fixturesFolder: 'src/fixtures',
|
|
};
|
|
}
|