mirror of
https://github.com/cypress-io/cypress.git
synced 2026-04-24 07:59:12 -05:00
fix: do not include non specs when globbing using --spec in run mode (#21462)
* fix: do not include non specs when globbing using --spec in run mode * update pattern * fix test * update cdp spec * wip - updates * update snapshots * update non-proxied spec * update snaps * update snaps * rename specs * update spec * wip - snapshots * snaps * snaps * update spec names * update * update test * snaps * update snap and spec * snaps * correct spec pattern * snaps * revert * update spec and snapshots * fix test * update tests * fix test * update test * update snapshot * update snaps * include coffee in specPattern * update snapshots * update snaps * rename specs * snaps * update test * update snapshot * update * snaps * update snap * update snaps * fix test * unskip test * snaps * add test
This commit is contained in:
@@ -105,7 +105,14 @@ describe('App: Specs', () => {
|
||||
})
|
||||
|
||||
cy.withCtx(async (ctx, options) => {
|
||||
const generatedSpecPaths = (await ctx.project.findSpecs(ctx.currentProject ?? '', 'e2e', ['**/*.cy.js'], [], [])).map((spec) => spec.relative)
|
||||
const generatedSpecPaths = (await ctx.project.findSpecs({
|
||||
projectRoot: ctx.currentProject ?? '',
|
||||
testingType: 'e2e',
|
||||
specPattern: ['**/*.cy.js'],
|
||||
configSpecPattern: ['**/*.cy.js'],
|
||||
excludeSpecPattern: [],
|
||||
additionalIgnorePattern: [],
|
||||
})).map((spec) => spec.relative)
|
||||
|
||||
// Validate that all expected paths have been generated within the data context
|
||||
expect(generatedSpecPaths.filter((path) => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { CodeGenType, MutationSetProjectPreferencesArgs, NexusGenObjects, NexusGenUnions, TestingTypeEnum } from '@packages/graphql/src/gen/nxs.gen'
|
||||
import type { CodeGenType, MutationSetProjectPreferencesArgs, NexusGenObjects, NexusGenUnions } from '@packages/graphql/src/gen/nxs.gen'
|
||||
import type { InitializeProjectOptions, FoundBrowser, FoundSpec, LaunchOpts, OpenProjectLaunchOptions, Preferences, TestingType, ReceivedCypressOptions, AddProject, FullConfig } from '@packages/types'
|
||||
import execa from 'execa'
|
||||
import path from 'path'
|
||||
@@ -43,12 +43,27 @@ export interface ProjectApiShape {
|
||||
isListening: (url: string) => Promise<void>
|
||||
}
|
||||
|
||||
type SetSpecsFoundBySpecPattern = {
|
||||
path: string
|
||||
export interface FindSpecs<T> {
|
||||
projectRoot: string
|
||||
testingType: Cypress.TestingType
|
||||
specPattern?: Cypress.Config['specPattern']
|
||||
excludeSpecPattern?: Cypress.Config['excludeSpecPattern']
|
||||
additionalIgnorePattern?: string | string[]
|
||||
/**
|
||||
* This can be over-ridden by the --spec argument (run mode only)
|
||||
* Otherwise it will be the same as `configSpecPattern`
|
||||
*/
|
||||
specPattern: T
|
||||
/**
|
||||
* The specPattern resolved from e2e.specPattern or component.specPattern
|
||||
* inside of `cypress.config`.
|
||||
*/
|
||||
configSpecPattern: T
|
||||
/**
|
||||
* User can opt to exclude certain patterns in cypress.config.
|
||||
*/
|
||||
excludeSpecPattern: T
|
||||
/**
|
||||
* If in component testing mode, we exclude all specs matching the e2e.specPattern.
|
||||
*/
|
||||
additionalIgnorePattern: T
|
||||
}
|
||||
|
||||
type SetForceReconfigureProjectByTestingType = {
|
||||
@@ -207,7 +222,7 @@ export class ProjectActions {
|
||||
}
|
||||
}
|
||||
|
||||
async launchProject (testingType: TestingTypeEnum | null, options: LaunchOpts, specPath?: string | null) {
|
||||
async launchProject (testingType: Cypress.TestingType | null, options: LaunchOpts, specPath?: string | null) {
|
||||
if (!this.ctx.currentProject) {
|
||||
return null
|
||||
}
|
||||
@@ -384,9 +399,10 @@ export class ProjectActions {
|
||||
const testingType = (codeGenType === 'component') ? 'component' : 'e2e'
|
||||
|
||||
await this.setSpecsFoundBySpecPattern({
|
||||
path: this.ctx.currentProject,
|
||||
projectRoot: this.ctx.currentProject,
|
||||
testingType,
|
||||
specPattern: cfg.specPattern,
|
||||
specPattern: cfg.specPattern ?? [],
|
||||
configSpecPattern: cfg.specPattern ?? [],
|
||||
excludeSpecPattern: cfg.excludeSpecPattern,
|
||||
additionalIgnorePattern: cfg.additionalIgnorePattern,
|
||||
})
|
||||
@@ -399,9 +415,10 @@ export class ProjectActions {
|
||||
}
|
||||
}
|
||||
|
||||
async setSpecsFoundBySpecPattern ({ path, testingType, specPattern, excludeSpecPattern, additionalIgnorePattern }: SetSpecsFoundBySpecPattern) {
|
||||
const toArray = (val?: string | string[]) => val ? typeof val === 'string' ? [val] : val : undefined
|
||||
async setSpecsFoundBySpecPattern ({ projectRoot, testingType, specPattern, configSpecPattern, excludeSpecPattern, additionalIgnorePattern }: FindSpecs<string | string[] | undefined>) {
|
||||
const toArray = (val?: string | string[]) => val ? typeof val === 'string' ? [val] : val : []
|
||||
|
||||
configSpecPattern = toArray(configSpecPattern)
|
||||
specPattern = toArray(specPattern)
|
||||
|
||||
excludeSpecPattern = toArray(excludeSpecPattern) || []
|
||||
@@ -409,21 +426,29 @@ export class ProjectActions {
|
||||
// exclude all specs matching e2e if in component testing
|
||||
additionalIgnorePattern = toArray(additionalIgnorePattern) || []
|
||||
|
||||
if (!specPattern) {
|
||||
if (!specPattern || !configSpecPattern) {
|
||||
throw Error('could not find pattern to load specs')
|
||||
}
|
||||
|
||||
const specs = await this.ctx.project.findSpecs(
|
||||
path,
|
||||
const specs = await this.ctx.project.findSpecs({
|
||||
projectRoot,
|
||||
testingType,
|
||||
specPattern,
|
||||
configSpecPattern,
|
||||
excludeSpecPattern,
|
||||
additionalIgnorePattern,
|
||||
)
|
||||
})
|
||||
|
||||
this.ctx.actions.project.setSpecs(specs)
|
||||
|
||||
this.ctx.project.startSpecWatcher(path, testingType, specPattern, excludeSpecPattern, additionalIgnorePattern)
|
||||
this.ctx.project.startSpecWatcher({
|
||||
projectRoot,
|
||||
testingType,
|
||||
specPattern,
|
||||
configSpecPattern,
|
||||
excludeSpecPattern,
|
||||
additionalIgnorePattern,
|
||||
})
|
||||
}
|
||||
|
||||
setForceReconfigureProjectByTestingType ({ forceReconfigureProject, testingType }: SetForceReconfigureProjectByTestingType) {
|
||||
|
||||
@@ -226,9 +226,10 @@ export class ProjectLifecycleManager {
|
||||
onFinalConfigLoaded: async (finalConfig: FullConfig, options: OnFinalConfigLoadedOptions) => {
|
||||
if (this._currentTestingType && finalConfig.specPattern) {
|
||||
await this.ctx.actions.project.setSpecsFoundBySpecPattern({
|
||||
path: this.projectRoot,
|
||||
projectRoot: this.projectRoot,
|
||||
testingType: this._currentTestingType,
|
||||
specPattern: this.ctx.modeOptions.spec || finalConfig.specPattern,
|
||||
configSpecPattern: finalConfig.specPattern,
|
||||
excludeSpecPattern: finalConfig.excludeSpecPattern,
|
||||
additionalIgnorePattern: finalConfig.additionalIgnorePattern,
|
||||
})
|
||||
|
||||
@@ -2,7 +2,7 @@ import os from 'os'
|
||||
import chokidar from 'chokidar'
|
||||
import type { ResolvedFromConfig, RESOLVED_FROM, FoundSpec, TestingType } from '@packages/types'
|
||||
import minimatch from 'minimatch'
|
||||
import { debounce, isEqual } from 'lodash'
|
||||
import _ from 'lodash'
|
||||
import path from 'path'
|
||||
import Debug from 'debug'
|
||||
import commonPathPrefix from 'common-path-prefix'
|
||||
@@ -18,6 +18,7 @@ import assert from 'assert'
|
||||
import type { DataContext } from '..'
|
||||
import { toPosix } from '../util/file'
|
||||
import type { FilePartsShape } from '@packages/graphql/src/schemaTypes/objectTypes/gql-FileParts'
|
||||
import type { FindSpecs } from '../actions'
|
||||
|
||||
export type SpecWithRelativeRoot = FoundSpec & { relativeToCommonRoot: string }
|
||||
|
||||
@@ -210,21 +211,45 @@ export class ProjectDataSource {
|
||||
}
|
||||
}
|
||||
|
||||
async findSpecs (
|
||||
projectRoot: string,
|
||||
testingType: Cypress.TestingType,
|
||||
specPattern: string[],
|
||||
excludeSpecPattern: string[],
|
||||
globToRemove: string[],
|
||||
): Promise<FoundSpec[]> {
|
||||
const specAbsolutePaths = await this.ctx.file.getFilesByGlob(
|
||||
async findSpecs ({
|
||||
projectRoot,
|
||||
testingType,
|
||||
specPattern,
|
||||
configSpecPattern,
|
||||
excludeSpecPattern,
|
||||
additionalIgnorePattern,
|
||||
}: FindSpecs<string[]>): Promise<FoundSpec[]> {
|
||||
let specAbsolutePaths = await this.ctx.file.getFilesByGlob(
|
||||
projectRoot,
|
||||
specPattern, {
|
||||
absolute: true,
|
||||
ignore: [...excludeSpecPattern, ...globToRemove],
|
||||
ignore: [...excludeSpecPattern, ...additionalIgnorePattern],
|
||||
},
|
||||
)
|
||||
|
||||
// If the specPattern and configSpecPattern are different,
|
||||
// it means the user passed something non-default via --spec (run mode only)
|
||||
// in this scenario, we want to grab everything that matches `--spec`
|
||||
// that falls within their default specPattern. The reason is so we avoid
|
||||
// attempting to run things that are not specs, eg source code, videos, etc.
|
||||
//
|
||||
// Example: developer wants to run tests associated with timers in packages/driver
|
||||
// So they run yarn cypress:run --spec **/timers*
|
||||
// we do **not** want to capture `timers.ts` (source code) or a video in
|
||||
// cypress/videos/timers.cy.ts.mp4, so we take the intersection between specPattern
|
||||
// and --spec.
|
||||
if (!_.isEqual(specPattern, configSpecPattern)) {
|
||||
const defaultSpecAbsolutePaths = await this.ctx.file.getFilesByGlob(
|
||||
projectRoot,
|
||||
configSpecPattern, {
|
||||
absolute: true,
|
||||
ignore: [...excludeSpecPattern, ...additionalIgnorePattern],
|
||||
},
|
||||
)
|
||||
|
||||
specAbsolutePaths = _.intersection(specAbsolutePaths, defaultSpecAbsolutePaths)
|
||||
}
|
||||
|
||||
const matched = matchedSpecs({
|
||||
projectRoot,
|
||||
testingType,
|
||||
@@ -235,13 +260,14 @@ export class ProjectDataSource {
|
||||
return matched
|
||||
}
|
||||
|
||||
startSpecWatcher (
|
||||
projectRoot: string,
|
||||
testingType: Cypress.TestingType,
|
||||
specPattern: string[],
|
||||
excludeSpecPattern: string[],
|
||||
additionalIgnore: string[],
|
||||
) {
|
||||
startSpecWatcher ({
|
||||
projectRoot,
|
||||
testingType,
|
||||
specPattern,
|
||||
configSpecPattern,
|
||||
excludeSpecPattern,
|
||||
additionalIgnorePattern,
|
||||
}: FindSpecs<string[]>) {
|
||||
this.stopSpecWatcher()
|
||||
|
||||
const currentProject = this.ctx.currentProject
|
||||
@@ -253,10 +279,17 @@ export class ProjectDataSource {
|
||||
// When file system changes are detected, we retrieve any spec files matching
|
||||
// the determined specPattern. This function is debounced to limit execution
|
||||
// during sequential file operations.
|
||||
const onProjectFileSystemChange = debounce(async () => {
|
||||
const specs = await this.findSpecs(projectRoot, testingType, specPattern, excludeSpecPattern, additionalIgnore)
|
||||
const onProjectFileSystemChange = _.debounce(async () => {
|
||||
const specs = await this.findSpecs({
|
||||
projectRoot,
|
||||
testingType,
|
||||
specPattern,
|
||||
configSpecPattern,
|
||||
excludeSpecPattern,
|
||||
additionalIgnorePattern,
|
||||
})
|
||||
|
||||
if (isEqual(this.specs, specs)) {
|
||||
if (_.isEqual(this.specs, specs)) {
|
||||
this.ctx.actions.project.refreshSpecs(specs)
|
||||
|
||||
// If no differences are found, we do not need to emit events
|
||||
@@ -272,7 +305,7 @@ export class ProjectDataSource {
|
||||
this._specWatcher = chokidar.watch('.', {
|
||||
ignoreInitial: true,
|
||||
cwd: projectRoot,
|
||||
ignored: ['**/node_modules/**', ...excludeSpecPattern, ...additionalIgnore],
|
||||
ignored: ['**/node_modules/**', ...excludeSpecPattern, ...additionalIgnorePattern],
|
||||
})
|
||||
|
||||
// the 'all' event includes: add, addDir, change, unlink, unlinkDir
|
||||
@@ -417,9 +450,9 @@ export class ProjectDataSource {
|
||||
const { specPattern } = await this.ctx.project.specPatterns()
|
||||
|
||||
if (this.ctx.coreData.currentTestingType === 'e2e') {
|
||||
return isEqual(specPattern, [e2e])
|
||||
return _.isEqual(specPattern, [e2e])
|
||||
}
|
||||
|
||||
return isEqual(specPattern, [component])
|
||||
return _.isEqual(specPattern, [component])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ describe('GitDataSource', () => {
|
||||
// create a file and modify a file to express all
|
||||
// git states we are interested in (created, unmodified, modified)
|
||||
const fooSpec = path.join(e2eFolder, 'foo.cy.js')
|
||||
const aRecordSpec = path.join(e2eFolder, 'a_record.spec.js')
|
||||
const aRecordSpec = path.join(e2eFolder, 'a_record.cy.js')
|
||||
const xhrSpec = path.join(e2eFolder, 'xhr.cy.js')
|
||||
|
||||
fs.createFileSync(fooSpec)
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
import chai from 'chai'
|
||||
import os from 'os'
|
||||
|
||||
import { matchedSpecs, transformSpec, SpecWithRelativeRoot, BrowserApiShape, getDefaultSpecFileName } from '../../../src/sources'
|
||||
import { matchedSpecs, transformSpec, SpecWithRelativeRoot, getDefaultSpecFileName } from '../../../src/sources'
|
||||
import path from 'path'
|
||||
import sinon from 'sinon'
|
||||
import chokidar from 'chokidar'
|
||||
import _ from 'lodash'
|
||||
import sinonChai from 'sinon-chai'
|
||||
import { graphqlSchema } from '@packages/graphql/src/schema'
|
||||
import { FoundSpec, TestingType } from '@packages/types'
|
||||
import { FoundSpec } from '@packages/types'
|
||||
import { DataContext } from '../../../src'
|
||||
import { AppApiShape, AuthApiShape, ElectronApiShape, LocalSettingsApiShape, ProjectApiShape } from '../../../src/actions'
|
||||
import { InjectedConfigApi } from '../../../src/data'
|
||||
import type { FindSpecs } from '../../../src/actions'
|
||||
import { createTestDataContext } from '../helper'
|
||||
|
||||
chai.use(sinonChai)
|
||||
@@ -132,7 +130,7 @@ describe('transformSpec', () => {
|
||||
})
|
||||
|
||||
describe('findSpecs', () => {
|
||||
const temporary = path.join(os.tmpdir(), 'findSpecs')
|
||||
const projectRoot = path.join(os.tmpdir(), 'findSpecs')
|
||||
|
||||
const fixture = [
|
||||
'node_modules/test/App.spec.js',
|
||||
@@ -143,49 +141,111 @@ describe('findSpecs', () => {
|
||||
'e2e/onboarding.spec.ts',
|
||||
'e2e/onboarding.cy.ts',
|
||||
'e2e/onboarding.cy.js',
|
||||
'e2e/onboarding.cy.js.mp4',
|
||||
]
|
||||
|
||||
let ctx: DataContext
|
||||
|
||||
beforeEach(async () => {
|
||||
ctx = createTestDataContext('run')
|
||||
await ctx.fs.ensureDir(temporary)
|
||||
await Promise.all(fixture.map((element) => ctx.fs.outputFile(path.join(temporary, element), '')))
|
||||
await ctx.fs.ensureDir(projectRoot)
|
||||
await Promise.all(fixture.map((element) => ctx.fs.outputFile(path.join(projectRoot, element), '')))
|
||||
})
|
||||
|
||||
afterEach(async () => {
|
||||
await ctx.fs.remove(temporary)
|
||||
await ctx.fs.remove(projectRoot)
|
||||
})
|
||||
|
||||
it('exludes specs outside `specPattern`, even if passing a generic glob', async () => {
|
||||
const specs = await ctx.project.findSpecs({
|
||||
projectRoot,
|
||||
testingType: 'e2e',
|
||||
specPattern: ['**/onboarding*'],
|
||||
configSpecPattern: ['e2e/*.{spec,cy}.{ts,js}'],
|
||||
excludeSpecPattern: [],
|
||||
additionalIgnorePattern: [],
|
||||
})
|
||||
|
||||
expect(specs).to.have.length(3)
|
||||
})
|
||||
|
||||
it('find all the *.cy.{ts,js} excluding the e2e', async () => {
|
||||
const specs = await ctx.project.findSpecs(temporary, 'component', ['**/*.cy.{ts,js}'], ['e2e/*.{spec,cy}.{ts,js}'], [])
|
||||
const specs = await ctx.project.findSpecs({
|
||||
projectRoot,
|
||||
testingType: 'component',
|
||||
specPattern: ['**/*.cy.{ts,js}'],
|
||||
configSpecPattern: ['**/*.cy.{ts,js}'],
|
||||
excludeSpecPattern: [],
|
||||
additionalIgnorePattern: ['e2e/*.{spec,cy}.{ts,js}'],
|
||||
})
|
||||
|
||||
expect(specs).to.have.length(2)
|
||||
})
|
||||
|
||||
it('find all the *.{cy,spec}.{ts,js} excluding the e2e', async () => {
|
||||
const specs = await ctx.project.findSpecs(temporary, 'component', ['**/*.{cy,spec}.{ts,js}'], ['e2e/*.{spec,cy}.{ts,js}'], [])
|
||||
const specs = await ctx.project.findSpecs({
|
||||
projectRoot,
|
||||
testingType: 'component',
|
||||
specPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
configSpecPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
excludeSpecPattern: [],
|
||||
additionalIgnorePattern: ['e2e/*.{spec,cy}.{ts,js}'],
|
||||
})
|
||||
|
||||
expect(specs).to.have.length(3)
|
||||
})
|
||||
|
||||
it('find all the e2e specs', async () => {
|
||||
const specs = await ctx.project.findSpecs(temporary, 'e2e', ['e2e/*.{cy,spec}.{ts,js}'], [], [])
|
||||
const specs = await ctx.project.findSpecs({
|
||||
projectRoot,
|
||||
testingType: 'e2e',
|
||||
specPattern: ['e2e/*.{cy,spec}.{ts,js}'],
|
||||
configSpecPattern: ['e2e/*.{cy,spec}.{ts,js}'],
|
||||
excludeSpecPattern: [],
|
||||
additionalIgnorePattern: [],
|
||||
})
|
||||
|
||||
expect(specs).to.have.length(3)
|
||||
})
|
||||
|
||||
it('ignores node_modules if excludeSpecPattern is empty array', async () => {
|
||||
const specs = await ctx.project.findSpecs(temporary, 'component', ['**/*.{cy,spec}.{ts,js}'], [], [])
|
||||
const specs = await ctx.project.findSpecs({
|
||||
projectRoot,
|
||||
testingType: 'component',
|
||||
specPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
configSpecPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
excludeSpecPattern: [],
|
||||
additionalIgnorePattern: [],
|
||||
})
|
||||
|
||||
expect(specs).to.have.length(6)
|
||||
})
|
||||
|
||||
it('ignores e2e tests if globToRemove is set', async () => {
|
||||
const specs = await ctx.project.findSpecs(temporary, 'component', ['**/*.{cy,spec}.{ts,js}'], [], ['e2e/*.{spec,cy}.{ts,js}'])
|
||||
it('ignores e2e tests if additionalIgnorePattern is set', async () => {
|
||||
const specs = await ctx.project.findSpecs({
|
||||
projectRoot,
|
||||
testingType: 'component',
|
||||
specPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
configSpecPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
additionalIgnorePattern: ['e2e/*.{spec,cy}.{ts,js}'],
|
||||
excludeSpecPattern: [],
|
||||
})
|
||||
|
||||
expect(specs).to.have.length(3)
|
||||
})
|
||||
|
||||
it('respects excludeSpecPattern', async () => {
|
||||
const specs = await ctx.project.findSpecs({
|
||||
projectRoot,
|
||||
testingType: 'component',
|
||||
specPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
configSpecPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
additionalIgnorePattern: ['e2e/*.{spec,cy}.{ts,js}'],
|
||||
excludeSpecPattern: ['**/*'],
|
||||
})
|
||||
|
||||
expect(specs).to.have.length(0)
|
||||
})
|
||||
})
|
||||
|
||||
describe('getDefaultSpecFileName', () => {
|
||||
@@ -338,25 +398,14 @@ describe('getDefaultSpecFileName', () => {
|
||||
})
|
||||
|
||||
describe('startSpecWatcher', () => {
|
||||
const temporary = 'tmp'
|
||||
const projectRoot = 'tmp'
|
||||
|
||||
let ctx: DataContext
|
||||
|
||||
beforeEach(async () => {
|
||||
ctx = new DataContext({
|
||||
schema: graphqlSchema,
|
||||
mode: 'run',
|
||||
modeOptions: {},
|
||||
appApi: {} as AppApiShape,
|
||||
localSettingsApi: {} as LocalSettingsApiShape,
|
||||
authApi: {} as AuthApiShape,
|
||||
configApi: {} as InjectedConfigApi,
|
||||
projectApi: {} as ProjectApiShape,
|
||||
electronApi: {} as ElectronApiShape,
|
||||
browserApi: {} as BrowserApiShape,
|
||||
})
|
||||
ctx = createTestDataContext('run')
|
||||
|
||||
ctx.coreData.currentProject = temporary
|
||||
ctx.coreData.currentProject = projectRoot
|
||||
})
|
||||
|
||||
afterEach(async () => {
|
||||
@@ -366,7 +415,16 @@ describe('startSpecWatcher', () => {
|
||||
it('throws if no current project defined', () => {
|
||||
ctx.coreData.currentProject = null
|
||||
|
||||
expect(() => ctx.project.startSpecWatcher(temporary, 'e2e', ['**/*.{cy,spec}.{ts,js}'], ['**/ignore.spec.ts'], [])).to.throw()
|
||||
expect(() => {
|
||||
return ctx.project.startSpecWatcher({
|
||||
projectRoot,
|
||||
testingType: 'e2e',
|
||||
specPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
configSpecPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
excludeSpecPattern: ['**/ignore.spec.ts'],
|
||||
additionalIgnorePattern: [],
|
||||
})
|
||||
}).to.throw()
|
||||
})
|
||||
|
||||
it('creates file watcher based on given config properties', () => {
|
||||
@@ -389,13 +447,20 @@ describe('startSpecWatcher', () => {
|
||||
return handleFsChange as _.DebouncedFunc<any>
|
||||
})
|
||||
|
||||
ctx.project.startSpecWatcher(temporary, 'e2e', ['**/*.{cy,spec}.{ts,js}'], ['**/ignore.spec.ts'], ['additional.ignore.cy.js'])
|
||||
ctx.project.startSpecWatcher({
|
||||
projectRoot,
|
||||
testingType: 'e2e',
|
||||
specPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
configSpecPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
excludeSpecPattern: ['**/ignore.spec.ts'],
|
||||
additionalIgnorePattern: ['additional.ignore.cy.js'],
|
||||
})
|
||||
|
||||
expect(_.debounce).to.have.been.calledWith(sinon.match.func, 250)
|
||||
|
||||
expect(chokidar.watch).to.have.been.calledWith('.', {
|
||||
ignoreInitial: true,
|
||||
cwd: temporary,
|
||||
cwd: projectRoot,
|
||||
ignored: ['**/node_modules/**', '**/ignore.spec.ts', 'additional.ignore.cy.js'],
|
||||
})
|
||||
|
||||
@@ -429,16 +494,23 @@ describe('startSpecWatcher', () => {
|
||||
return handleFsChange as _.DebouncedFunc<any>
|
||||
})
|
||||
|
||||
const watchOptions: [string, TestingType, string[], string[], string[]] = [temporary, 'e2e', ['**/*.{cy,spec}.{ts,js}'], ['**/ignore.spec.ts'], ['additional.ignore.cy.js']]
|
||||
const watchOptions: FindSpecs<string[]> = {
|
||||
projectRoot,
|
||||
testingType: 'e2e',
|
||||
specPattern: ['**/*.{cy,spec}.{ts,js}'],
|
||||
configSpecPattern: ['**/ignore.spec.ts'],
|
||||
excludeSpecPattern: ['additional.ignore.cy.js'],
|
||||
additionalIgnorePattern: [],
|
||||
}
|
||||
|
||||
ctx.project.startSpecWatcher(...watchOptions)
|
||||
ctx.project.startSpecWatcher(watchOptions)
|
||||
|
||||
// Set internal specs state to the stubbed found value to simulate irrelevant FS changes
|
||||
ctx.project.setSpecs(mockFoundSpecs)
|
||||
|
||||
await handleFsChange()
|
||||
|
||||
expect(ctx.project.findSpecs).to.have.been.calledWith(...watchOptions)
|
||||
expect(ctx.project.findSpecs).to.have.been.calledWith(watchOptions)
|
||||
expect(ctx.actions.project.setSpecs).not.to.have.been.called
|
||||
|
||||
// Update internal specs state so that a change will be detected on next FS event
|
||||
@@ -448,7 +520,7 @@ describe('startSpecWatcher', () => {
|
||||
|
||||
await handleFsChange()
|
||||
|
||||
expect(ctx.project.findSpecs).to.have.been.calledWith(...watchOptions)
|
||||
expect(ctx.project.findSpecs).to.have.been.calledWith(watchOptions)
|
||||
expect(ctx.actions.project.setSpecs).to.have.been.calledWith(mockFoundSpecs)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -95,7 +95,14 @@ module.exports = {
|
||||
// in this case, we want to remove anything that matches
|
||||
// - the component.specPattern
|
||||
// - the e2e.excludeSpecPattern
|
||||
return ctx.project.findSpecs(config.projectRoot, 'e2e', e2ePatterns.specPattern, e2ePatterns.excludeSpecPattern, componentPatterns.specPattern)
|
||||
return ctx.project.findSpecs({
|
||||
projectRoot: config.projectRoot,
|
||||
testingType: 'e2e',
|
||||
specPattern: e2ePatterns.specPattern,
|
||||
configSpecPattern: e2ePatterns.specPattern,
|
||||
excludeSpecPattern: e2ePatterns.excludeSpecPattern,
|
||||
additionalIgnorePattern: componentPatterns.specPattern,
|
||||
})
|
||||
.then((specs) => {
|
||||
debug('found __all specs %o', specs)
|
||||
|
||||
|
||||
@@ -393,9 +393,10 @@ describe('lib/cypress', () => {
|
||||
})
|
||||
|
||||
it('runs project by specific spec with default configuration', function () {
|
||||
return cypress.start([`--run-project=${this.idsPath}`, `--spec=${this.idsPath}/cypress/e2e/bar.js`, '--config', 'port=2020'])
|
||||
return cypress.start([`--run-project=${this.idsPath}`, `--spec=${this.idsPath}/**/*qux*`, '--config', 'port=2020'])
|
||||
.then(() => {
|
||||
expect(browsers.open).to.be.calledWithMatch(ELECTRON_BROWSER, { url: 'http://localhost:2020/__/#/specs/runner?file=cypress/e2e/bar.js' })
|
||||
expect(browsers.open).to.be.calledWithMatch(ELECTRON_BROWSER, { url: 'http://localhost:2020/__/#/specs/runner?file=cypress/e2e/qux.cy.js' })
|
||||
expect(browsers.open).to.be.calledOnce
|
||||
this.expectExitWith(0)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -7,14 +7,14 @@ exports['e2e cdp / handles disconnections as expected'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (spec.ts) │
|
||||
│ Searched: cypress/e2e/spec.ts │
|
||||
│ Specs: 1 found (spec.cy.ts) │
|
||||
│ Searched: cypress/e2e/spec.cy.ts │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: spec.ts (1 of 1)
|
||||
Running: spec.cy.ts (1 of 1)
|
||||
|
||||
|
||||
e2e remote debugging disconnect
|
||||
|
||||
@@ -312,14 +312,14 @@ exports['e2e config setupNodeEvents modify specPattern for current testing type
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (a_record-spec.js) │
|
||||
│ Searched: cypress/e2e/*-spec.js │
|
||||
│ Specs: 1 found (a_record.cy.js) │
|
||||
│ Searched: cypress/e2e/a_record.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: a_record-spec.js (1 of 1)
|
||||
Running: a_record.cy.js (1 of 1)
|
||||
|
||||
|
||||
a spec
|
||||
@@ -340,14 +340,14 @@ exports['e2e config setupNodeEvents modify specPattern for current testing type
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: a_record-spec.js │
|
||||
│ Spec Ran: a_record.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/a_record-spec.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/a_record.cy.js.mp4 (X second)
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -357,7 +357,7 @@ exports['e2e config setupNodeEvents modify specPattern for current testing type
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ a_record-spec.js XX:XX 1 1 - - - │
|
||||
│ ✔ a_record.cy.js XX:XX 1 1 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 1 1 - - -
|
||||
|
||||
|
||||
@@ -7,18 +7,18 @@ exports['e2e plugins fails when spec does not exist 1'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (spec.js) │
|
||||
│ Searched: cypress/e2e/spec.js │
|
||||
│ Specs: 1 found (spec.cy.js) │
|
||||
│ Searched: cypress/e2e/spec.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: spec.js (1 of 1)
|
||||
Running: spec.cy.js (1 of 1)
|
||||
|
||||
Oops...we found an error preparing this test file:
|
||||
|
||||
> cypress/e2e/spec.js
|
||||
> cypress/e2e/spec.cy.js
|
||||
|
||||
The error was:
|
||||
|
||||
@@ -42,14 +42,14 @@ Fix the error in your code and re-run your tests.
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: spec.js │
|
||||
│ Spec Ran: spec.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/spec.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/spec.cy.js.mp4 (X second)
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -59,7 +59,7 @@ Fix the error in your code and re-run your tests.
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✖ spec.js XX:XX - - 1 - - │
|
||||
│ ✖ spec.cy.js XX:XX - - 1 - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✖ 1 of 1 failed (100%) XX:XX - - 1 - -
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@ exports['e2e cookies with baseurl'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (cookies_spec_baseurl.js) │
|
||||
│ Searched: cypress/e2e/cookies_spec_baseurl.js │
|
||||
│ Specs: 1 found (cookies_spec_baseurl.cy.js) │
|
||||
│ Searched: cypress/e2e/cookies_spec_baseurl.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: cookies_spec_baseurl.js (1 of 1)
|
||||
Running: cookies_spec_baseurl.cy.js (1 of 1)
|
||||
|
||||
|
||||
cookies
|
||||
@@ -78,14 +78,14 @@ exports['e2e cookies with baseurl'] = `
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: cookies_spec_baseurl.js │
|
||||
│ Spec Ran: cookies_spec_baseurl.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/cookies_spec_baseurl.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/cookies_spec_baseurl.cy.js.mp4 (X second)
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -95,7 +95,7 @@ exports['e2e cookies with baseurl'] = `
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ cookies_spec_baseurl.js XX:XX 32 32 - - - │
|
||||
│ ✔ cookies_spec_baseurl.cy.js XX:XX 32 32 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 32 32 - - -
|
||||
|
||||
@@ -111,14 +111,14 @@ exports['e2e cookies with no baseurl'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (cookies_spec_no_baseurl.js) │
|
||||
│ Searched: cypress/e2e/cookies_spec_no_baseurl.js │
|
||||
│ Specs: 1 found (cookies_spec_no_baseurl.cy.js) │
|
||||
│ Searched: cypress/e2e/cookies_spec_no_baseurl.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: cookies_spec_no_baseurl.js (1 of 1)
|
||||
Running: cookies_spec_no_baseurl.cy.js (1 of 1)
|
||||
|
||||
|
||||
cookies
|
||||
@@ -149,14 +149,15 @@ exports['e2e cookies with no baseurl'] = `
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: cookies_spec_no_baseurl.js │
|
||||
│ Spec Ran: cookies_spec_no_baseurl.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/cookies_spec_no_baseurl.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/cookies_spec_no_baseurl.cy.js.m (X second)
|
||||
p4
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -166,7 +167,7 @@ exports['e2e cookies with no baseurl'] = `
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ cookies_spec_no_baseurl.js XX:XX 9 9 - - - │
|
||||
│ ✔ cookies_spec_no_baseurl.cy.js XX:XX 9 9 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 9 9 - - -
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@ exports['e2e non-proxied spec / passes'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (spec.js) │
|
||||
│ Searched: cypress/e2e/spec.js │
|
||||
│ Specs: 1 found (spec.cy.js) │
|
||||
│ Searched: cypress/e2e/spec.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: spec.js (1 of 1)
|
||||
Running: spec.cy.js (1 of 1)
|
||||
|
||||
|
||||
non proxied e2e
|
||||
@@ -37,7 +37,7 @@ exports['e2e non-proxied spec / passes'] = `
|
||||
│ Screenshots: 0 │
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: spec.js │
|
||||
│ Spec Ran: spec.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ exports['e2e non-proxied spec / passes'] = `
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ spec.js XX:XX 3 3 - - - │
|
||||
│ ✔ spec.cy.js XX:XX 3 3 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 3 3 - - -
|
||||
|
||||
|
||||
@@ -7,17 +7,17 @@ exports['e2e plugin run events / sends events'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 2 found (run_events_spec_1.js, run_events_spec_2.js) │
|
||||
│ Specs: 2 found (run_events_spec_1.cy.js, run_events_spec_2.cy.js) │
|
||||
│ Searched: cypress/e2e/* │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
before:run: cypress/e2e/run_events_spec_1.js electron
|
||||
before:run: cypress/e2e/run_events_spec_1.cy.js electron
|
||||
before:run is awaited
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: run_events_spec_1.js (1 of 2)
|
||||
before:spec: cypress/e2e/run_events_spec_1.js
|
||||
Running: run_events_spec_1.cy.js (1 of 2)
|
||||
before:spec: cypress/e2e/run_events_spec_1.cy.js
|
||||
before:spec is awaited
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ before:spec is awaited
|
||||
|
||||
1 passing
|
||||
|
||||
spec:end: cypress/e2e/run_events_spec_1.js { tests: 1, passes: 1, failures: 0 }
|
||||
spec:end: cypress/e2e/run_events_spec_1.cy.js { tests: 1, passes: 1, failures: 0 }
|
||||
after:spec is awaited
|
||||
|
||||
(Results)
|
||||
@@ -39,14 +39,14 @@ after:spec is awaited
|
||||
│ Screenshots: 0 │
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: run_events_spec_1.js │
|
||||
│ Spec Ran: run_events_spec_1.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: run_events_spec_2.js (2 of 2)
|
||||
before:spec: cypress/e2e/run_events_spec_2.js
|
||||
Running: run_events_spec_2.cy.js (2 of 2)
|
||||
before:spec: cypress/e2e/run_events_spec_2.cy.js
|
||||
before:spec is awaited
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ before:spec is awaited
|
||||
|
||||
1 passing
|
||||
|
||||
spec:end: cypress/e2e/run_events_spec_2.js { tests: 1, passes: 1, failures: 0 }
|
||||
spec:end: cypress/e2e/run_events_spec_2.cy.js { tests: 1, passes: 1, failures: 0 }
|
||||
after:spec is awaited
|
||||
|
||||
(Results)
|
||||
@@ -68,7 +68,7 @@ after:spec is awaited
|
||||
│ Screenshots: 0 │
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: run_events_spec_2.js │
|
||||
│ Spec Ran: run_events_spec_2.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
after:run: { totalTests: 2, totalPassed: 2, totalFailed: 0 }
|
||||
@@ -81,9 +81,9 @@ after:run is awaited
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ run_events_spec_1.js XX:XX 1 1 - - - │
|
||||
│ ✔ run_events_spec_1.cy.js XX:XX 1 1 - - - │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ✔ run_events_spec_2.js XX:XX 1 1 - - - │
|
||||
│ ✔ run_events_spec_2.cy.js XX:XX 1 1 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 2 2 - - -
|
||||
|
||||
@@ -99,14 +99,14 @@ exports['e2e plugin run events / handles video being deleted in after:spec'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (after_spec_deletes_video.js) │
|
||||
│ Specs: 1 found (after_spec_deletes_video.cy.js) │
|
||||
│ Searched: cypress/e2e/* │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: after_spec_deletes_video.js (1 of 1)
|
||||
Running: after_spec_deletes_video.cy.js (1 of 1)
|
||||
|
||||
|
||||
✓ is true
|
||||
@@ -125,7 +125,7 @@ exports['e2e plugin run events / handles video being deleted in after:spec'] = `
|
||||
│ Screenshots: 0 │
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: after_spec_deletes_video.js │
|
||||
│ Spec Ran: after_spec_deletes_video.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ exports['e2e plugin run events / handles video being deleted in after:spec'] = `
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ after_spec_deletes_video.js XX:XX 1 1 - - - │
|
||||
│ ✔ after_spec_deletes_video.cy.js XX:XX 1 1 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 1 1 - - -
|
||||
|
||||
|
||||
@@ -2219,8 +2219,8 @@ exports['e2e record api interaction errors create instance 500 without paralleli
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 2 found (a_record.spec.js, b_record.spec.js) │
|
||||
│ Searched: cypress/e2e/*_record.spec.js │
|
||||
│ Specs: 2 found (a_record.cy.js, b_record.cy.js) │
|
||||
│ Searched: cypress/e2e/a_record.cy.js, cypress/e2e/b_record.cy.js │
|
||||
│ Params: Tag: false, Group: false, Parallel: false │
|
||||
│ Run URL: https://dashboard.cypress.io/projects/cjvoj7/runs/12 │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -2242,8 +2242,8 @@ exports['e2e record api interaction errors create instance errors and exits on c
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (a_record_instantfail.spec.js) │
|
||||
│ Searched: cypress/e2e/*_record_* │
|
||||
│ Specs: 1 found (a_record_instantfail.cy.js) │
|
||||
│ Searched: cypress/e2e/a_record_instantfail.cy.js │
|
||||
│ Params: Tag: false, Group: false, Parallel: false │
|
||||
│ Run URL: https://dashboard.cypress.io/projects/cjvoj7/runs/12 │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -2265,8 +2265,8 @@ exports['e2e record api interaction errors postInstanceTests without paralleliza
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 2 found (a_record.spec.js, b_record.spec.js) │
|
||||
│ Searched: cypress/e2e/*_record.spec* │
|
||||
│ Specs: 2 found (a_record.cy.js, b_record.cy.js) │
|
||||
│ Searched: cypress/e2e/a_record.cy.js, cypress/e2e/b_record.cy.js │
|
||||
│ Params: Tag: false, Group: foo, Parallel: false │
|
||||
│ Run URL: https://dashboard.cypress.io/projects/cjvoj7/runs/12 │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -2274,7 +2274,7 @@ exports['e2e record api interaction errors postInstanceTests without paralleliza
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: a_record.spec.js (1 of 2)
|
||||
Running: a_record.cy.js (1 of 2)
|
||||
Estimated: 8 seconds
|
||||
We encountered an unexpected error talking to our servers.
|
||||
|
||||
@@ -2296,8 +2296,8 @@ exports['e2e record api interaction errors postInstanceTests with parallelizatio
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 2 found (a_record.spec.js, b_record.spec.js) │
|
||||
│ Searched: cypress/e2e/*_record.spec.js │
|
||||
│ Specs: 2 found (a_record.cy.js, b_record.cy.js) │
|
||||
│ Searched: cypress/e2e/a_record.cy.js, cypress/e2e/b_record.cy.js │
|
||||
│ Params: Tag: false, Group: foo, Parallel: true │
|
||||
│ Run URL: https://dashboard.cypress.io/projects/cjvoj7/runs/12 │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -2305,7 +2305,7 @@ exports['e2e record api interaction errors postInstanceTests with parallelizatio
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: a_record.spec.js (1 of 2)
|
||||
Running: a_record.cy.js (1 of 2)
|
||||
Estimated: 8 seconds
|
||||
We encountered an unexpected error talking to our servers.
|
||||
|
||||
@@ -2391,8 +2391,8 @@ exports['e2e record api skips specs records tests and exits without executing 1'
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 2 found (a_record_instantfail.spec.js, b_record.spec.js) │
|
||||
│ Searched: cypress/e2e/a_record_instantfail.spec.js, cypress/e2e/b_record.spec.js │
|
||||
│ Specs: 2 found (a_record_instantfail.cy.js, b_record.cy.js) │
|
||||
│ Searched: cypress/e2e/a_record_instantfail.cy.js, cypress/e2e/b_record.cy.js │
|
||||
│ Params: Tag: false, Group: false, Parallel: false │
|
||||
│ Run URL: https://dashboard.cypress.io/projects/cjvoj7/runs/12 │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -2400,14 +2400,14 @@ exports['e2e record api skips specs records tests and exits without executing 1'
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: a_record_instantfail.spec.js (1 of 2)
|
||||
Running: a_record_instantfail.cy.js (1 of 2)
|
||||
Estimated: 8 seconds
|
||||
|
||||
This spec and its tests were skipped because the run has been canceled.
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: b_record.spec.js (2 of 2)
|
||||
Running: b_record.cy.js (2 of 2)
|
||||
Estimated: 8 seconds
|
||||
|
||||
|
||||
@@ -2430,7 +2430,7 @@ exports['e2e record api skips specs records tests and exits without executing 1'
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Estimated: 8 seconds │
|
||||
│ Spec Ran: b_record.spec.js │
|
||||
│ Spec Ran: b_record.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -2445,9 +2445,9 @@ exports['e2e record api skips specs records tests and exits without executing 1'
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ - a_record_instantfail.spec.js SKIPPED - - - - - │
|
||||
│ - a_record_instantfail.cy.js SKIPPED - - - - - │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ✔ b_record.spec.js XX:XX 1 1 - - - │
|
||||
│ ✔ b_record.cy.js XX:XX 1 1 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
- The run was canceled XX:XX 1 1 - - -
|
||||
|
||||
@@ -2470,8 +2470,8 @@ exports['e2e record api skips specs records tests and exits without executing in
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 2 found (a_record_instantfail.spec.js, b_record.spec.js) │
|
||||
│ Searched: cypress/e2e/a_record_instantfail.spec.js, cypress/e2e/b_record.spec.js │
|
||||
│ Specs: 2 found (a_record_instantfail.cy.js, b_record.cy.js) │
|
||||
│ Searched: cypress/e2e/a_record_instantfail.cy.js, cypress/e2e/b_record.cy.js │
|
||||
│ Params: Tag: false, Group: abc, Parallel: true │
|
||||
│ Run URL: https://dashboard.cypress.io/projects/cjvoj7/runs/12 │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -2479,14 +2479,14 @@ exports['e2e record api skips specs records tests and exits without executing in
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: a_record_instantfail.spec.js (1 of 2)
|
||||
Running: a_record_instantfail.cy.js (1 of 2)
|
||||
Estimated: 8 seconds
|
||||
|
||||
This spec and its tests were skipped because the run has been canceled.
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: b_record.spec.js (2 of 2)
|
||||
Running: b_record.cy.js (2 of 2)
|
||||
Estimated: 8 seconds
|
||||
|
||||
|
||||
@@ -2509,7 +2509,7 @@ exports['e2e record api skips specs records tests and exits without executing in
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Estimated: 8 seconds │
|
||||
│ Spec Ran: b_record.spec.js │
|
||||
│ Spec Ran: b_record.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -2524,9 +2524,9 @@ exports['e2e record api skips specs records tests and exits without executing in
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ - a_record_instantfail.spec.js SKIPPED - - - - - │
|
||||
│ - a_record_instantfail.cy.js SKIPPED - - - - - │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ✔ b_record.spec.js XX:XX 1 1 - - - │
|
||||
│ ✔ b_record.cy.js XX:XX 1 1 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
- The run was canceled XX:XX 1 1 - - -
|
||||
|
||||
@@ -2549,8 +2549,8 @@ exports['e2e record empty specs succeeds when empty spec file 1'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 2 found (empty_suite.spec.js, empty.spec.js) │
|
||||
│ Searched: cypress/e2e/empty_suite.spec.js, cypress/e2e/empty.spec.js │
|
||||
│ Specs: 2 found (empty_suite.cy.js, empty.cy.js) │
|
||||
│ Searched: cypress/e2e/empty_suite.cy.js, cypress/e2e/empty.cy.js │
|
||||
│ Params: Tag: false, Group: false, Parallel: false │
|
||||
│ Run URL: https://dashboard.cypress.io/projects/cjvoj7/runs/12 │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -2558,7 +2558,7 @@ exports['e2e record empty specs succeeds when empty spec file 1'] = `
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: empty_suite.spec.js (1 of 2)
|
||||
Running: empty_suite.cy.js (1 of 2)
|
||||
Estimated: 8 seconds
|
||||
|
||||
|
||||
@@ -2577,7 +2577,7 @@ exports['e2e record empty specs succeeds when empty spec file 1'] = `
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Estimated: 8 seconds │
|
||||
│ Spec Ran: empty_suite.spec.js │
|
||||
│ Spec Ran: empty_suite.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -2587,7 +2587,7 @@ exports['e2e record empty specs succeeds when empty spec file 1'] = `
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: empty.spec.js (2 of 2)
|
||||
Running: empty.cy.js (2 of 2)
|
||||
Estimated: 8 seconds
|
||||
|
||||
|
||||
@@ -2606,7 +2606,7 @@ exports['e2e record empty specs succeeds when empty spec file 1'] = `
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Estimated: 8 seconds │
|
||||
│ Spec Ran: empty.spec.js │
|
||||
│ Spec Ran: empty.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -2621,9 +2621,9 @@ exports['e2e record empty specs succeeds when empty spec file 1'] = `
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ empty_suite.spec.js XX:XX - - - - - │
|
||||
│ ✔ empty_suite.cy.js XX:XX - - - - - │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ✔ empty.spec.js XX:XX - - - - - │
|
||||
│ ✔ empty.cy.js XX:XX - - - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX - - - - -
|
||||
|
||||
@@ -2665,8 +2665,8 @@ exports['e2e record metadata sends Studio usage metadata 1'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (studio_written.spec.js) │
|
||||
│ Searched: cypress/e2e/studio_written.spec.js │
|
||||
│ Specs: 1 found (studio_written.cy.js) │
|
||||
│ Searched: cypress/e2e/studio_written.cy.js │
|
||||
│ Params: Tag: false, Group: false, Parallel: false │
|
||||
│ Run URL: https://dashboard.cypress.io/projects/cjvoj7/runs/12 │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
@@ -2674,7 +2674,7 @@ exports['e2e record metadata sends Studio usage metadata 1'] = `
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: studio_written.spec.js (1 of 1)
|
||||
Running: studio_written.cy.js (1 of 1)
|
||||
Estimated: 8 seconds
|
||||
|
||||
|
||||
@@ -2701,7 +2701,7 @@ exports['e2e record metadata sends Studio usage metadata 1'] = `
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Estimated: 8 seconds │
|
||||
│ Spec Ran: studio_written.spec.js │
|
||||
│ Spec Ran: studio_written.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -2716,7 +2716,7 @@ exports['e2e record metadata sends Studio usage metadata 1'] = `
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ studio_written.spec.js XX:XX 4 4 - - - │
|
||||
│ ✔ studio_written.cy.js XX:XX 4 4 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 4 4 - - -
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@ exports['retries / supports retries'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (fail-twice.js) │
|
||||
│ Searched: cypress/e2e/fail-twice.js │
|
||||
│ Specs: 1 found (fail-twice.cy.js) │
|
||||
│ Searched: cypress/e2e/fail-twice.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: fail-twice.js (1 of 1)
|
||||
Running: fail-twice.cy.js (1 of 1)
|
||||
|
||||
|
||||
(Attempt 1 of 3) fail twice
|
||||
@@ -35,21 +35,21 @@ exports['retries / supports retries'] = `
|
||||
│ Screenshots: 2 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: fail-twice.js │
|
||||
│ Spec Ran: fail-twice.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Screenshots)
|
||||
|
||||
- /XXX/XXX/XXX/cypress/screenshots/fail-twice.js/fail twice (failed).png (1280x720)
|
||||
- /XXX/XXX/XXX/cypress/screenshots/fail-twice.js/fail twice (failed) (attempt 2).p (1280x720)
|
||||
ng
|
||||
- /XXX/XXX/XXX/cypress/screenshots/fail-twice.cy.js/fail twice (failed).png (1280x720)
|
||||
- /XXX/XXX/XXX/cypress/screenshots/fail-twice.cy.js/fail twice (failed) (attempt 2 (1280x720)
|
||||
).png
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/fail-twice.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/fail-twice.cy.js.mp4 (X second)
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -59,7 +59,7 @@ exports['retries / supports retries'] = `
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ fail-twice.js XX:XX 1 1 - - - │
|
||||
│ ✔ fail-twice.cy.js XX:XX 1 1 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 1 1 - - -
|
||||
|
||||
@@ -83,14 +83,14 @@ https://on.cypress.io/test-retries
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (main.spec.js) │
|
||||
│ Searched: cypress/e2e/main.spec.js │
|
||||
│ Specs: 1 found (main.spec.cy.js) │
|
||||
│ Searched: cypress/e2e/main.spec.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: main.spec.js (1 of 1)
|
||||
Running: main.spec.cy.js (1 of 1)
|
||||
|
||||
|
||||
✓ foo
|
||||
@@ -109,14 +109,14 @@ https://on.cypress.io/test-retries
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: main.spec.js │
|
||||
│ Spec Ran: main.spec.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/main.spec.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/main.spec.cy.js.mp4 (X second)
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -126,7 +126,7 @@ https://on.cypress.io/test-retries
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ main.spec.js XX:XX 1 1 - - - │
|
||||
│ ✔ main.spec.cy.js XX:XX 1 1 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 1 1 - - -
|
||||
|
||||
|
||||
@@ -7,14 +7,14 @@ exports['e2e runnable execution / cannot navigate in before hook and test'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (beforehook-and-test-navigation.js) │
|
||||
│ Searched: cypress/e2e/beforehook-and-test-navigation.js │
|
||||
│ Specs: 1 found (beforehook-and-test-navigation.cy.js) │
|
||||
│ Searched: cypress/e2e/beforehook-and-test-navigation.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: beforehook-and-test-navigation.js (1 of 1)
|
||||
Running: beforehook-and-test-navigation.cy.js (1 of 1)
|
||||
|
||||
|
||||
initial domain change
|
||||
@@ -109,7 +109,7 @@ Because this error occurred during a \`before each\` hook we are skipping the re
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: beforehook-and-test-navigation.js │
|
||||
│ Spec Ran: beforehook-and-test-navigation.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ Because this error occurred during a \`before each\` hook we are skipping the re
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/beforehook-and-test-navigation. (X second)
|
||||
js.mp4
|
||||
cy.js.mp4
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -127,7 +127,8 @@ Because this error occurred during a \`before each\` hook we are skipping the re
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✖ beforehook-and-test-navigation.js XX:XX 4 2 2 - - │
|
||||
│ ✖ beforehook-and-test-navigation.cy.j XX:XX 4 2 2 - - │
|
||||
│ s │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✖ 1 of 1 failed (100%) XX:XX 4 2 2 - -
|
||||
|
||||
@@ -143,14 +144,14 @@ exports['e2e runnable execution / runnables run correct number of times with nav
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (runnable-run-count.spec.js) │
|
||||
│ Searched: cypress/e2e/runnable-run-count.spec.js │
|
||||
│ Specs: 1 found (runnable-run-count.cy.js) │
|
||||
│ Searched: cypress/e2e/runnable-run-count.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: runnable-run-count.spec.js (1 of 1)
|
||||
Running: runnable-run-count.cy.js (1 of 1)
|
||||
|
||||
|
||||
suite 1.0
|
||||
@@ -181,14 +182,14 @@ exports['e2e runnable execution / runnables run correct number of times with nav
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: runnable-run-count.spec.js │
|
||||
│ Spec Ran: runnable-run-count.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/runnable-run-count.spec.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/runnable-run-count.cy.js.mp4 (X second)
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -198,7 +199,7 @@ exports['e2e runnable execution / runnables run correct number of times with nav
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ runnable-run-count.spec.js XX:XX 7 7 - - - │
|
||||
│ ✔ runnable-run-count.cy.js XX:XX 7 7 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 7 7 - - -
|
||||
|
||||
@@ -214,14 +215,14 @@ exports['e2e runnable execution / runs correctly after top navigation with alrea
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (runnables_already_run_suite.js) │
|
||||
│ Searched: cypress/e2e/runnables_already_run_suite.js │
|
||||
│ Specs: 1 found (runnables_already_run_suite.cy.js) │
|
||||
│ Searched: cypress/e2e/runnables_already_run_suite.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: runnables_already_run_suite.js (1 of 1)
|
||||
Running: runnables_already_run_suite.cy.js (1 of 1)
|
||||
|
||||
|
||||
Top level describe
|
||||
@@ -254,14 +255,14 @@ exports['e2e runnable execution / runs correctly after top navigation with alrea
|
||||
│ Screenshots: 1 │
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: runnables_already_run_suite.js │
|
||||
│ Spec Ran: runnables_already_run_suite.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Screenshots)
|
||||
|
||||
- /XXX/XXX/XXX/cypress/screenshots/runnables_already_run_suite.js/Top level descri (1280x720)
|
||||
be -- suite 2 -- should fail (failed).png
|
||||
- /XXX/XXX/XXX/cypress/screenshots/runnables_already_run_suite.cy.js/Top level des (1280x720)
|
||||
cribe -- suite 2 -- should fail (failed).png
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -271,7 +272,7 @@ exports['e2e runnable execution / runs correctly after top navigation with alrea
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✖ runnables_already_run_suite.js XX:XX 2 1 1 - - │
|
||||
│ ✖ runnables_already_run_suite.cy.js XX:XX 2 1 1 - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✖ 1 of 1 failed (100%) XX:XX 2 1 1 - -
|
||||
|
||||
|
||||
@@ -149,15 +149,16 @@ exports['e2e sessions / sessions persist on reload, and clear between specs'] =
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 2 found (session_persist_spec_1.js, session_persist_spec_2.js) │
|
||||
│ Searched: cypress/e2e/session_persist_spec_1.js, cypress/e2e/session_persist_spec_2.js │
|
||||
│ Specs: 2 found (session_persist_spec_1.cy.js, session_persist_spec_2.cy.js) │
|
||||
│ Searched: cypress/e2e/session_persist_spec_1.cy.js, cypress/e2e/session_persist_spec_2.cy. │
|
||||
│ js │
|
||||
│ Experiments: experimentalSessionAndOrigin=true │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: session_persist_spec_1.js (1 of 2)
|
||||
Running: session_persist_spec_1.cy.js (1 of 2)
|
||||
|
||||
|
||||
persist saved sessions between spec reruns
|
||||
@@ -181,13 +182,13 @@ exports['e2e sessions / sessions persist on reload, and clear between specs'] =
|
||||
│ Screenshots: 0 │
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: session_persist_spec_1.js │
|
||||
│ Spec Ran: session_persist_spec_1.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: session_persist_spec_2.js (2 of 2)
|
||||
Running: session_persist_spec_2.cy.js (2 of 2)
|
||||
|
||||
|
||||
after running spec with saved session
|
||||
@@ -208,7 +209,7 @@ exports['e2e sessions / sessions persist on reload, and clear between specs'] =
|
||||
│ Screenshots: 0 │
|
||||
│ Video: false │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: session_persist_spec_2.js │
|
||||
│ Spec Ran: session_persist_spec_2.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
@@ -219,9 +220,9 @@ exports['e2e sessions / sessions persist on reload, and clear between specs'] =
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ session_persist_spec_1.js XX:XX 1 1 - - - │
|
||||
│ ✔ session_persist_spec_1.cy.js XX:XX 1 1 - - - │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ✔ session_persist_spec_2.js XX:XX 1 1 - - - │
|
||||
│ ✔ session_persist_spec_2.cy.js XX:XX 1 1 - - - │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 2 2 - - -
|
||||
|
||||
|
||||
@@ -275,15 +275,15 @@ exports['e2e stdout displays fullname of nested specfile 1'] = `
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 3 found (spec.js, stdout_specfile.js, stdout_specfile_display_spec_with_a_really_l │
|
||||
│ ong_name_that_never_has_a_line_break_or_new_line.js) │
|
||||
│ Specs: 3 found (spec.cy.js, stdout_specfile.cy.js, stdout_specfile_display_spec_with_a_re │
|
||||
│ ally_long_name_that_never_has_a_line_break_or_new_line.cy.js) │
|
||||
│ Searched: cypress/e2e/nested-1/nested-2/nested-3/* │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: spec.js (1 of 3)
|
||||
Running: spec.cy.js (1 of 3)
|
||||
|
||||
|
||||
stdout_specfile_display_spec
|
||||
@@ -304,19 +304,19 @@ exports['e2e stdout displays fullname of nested specfile 1'] = `
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: spec.js │
|
||||
│ Spec Ran: spec.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/spec.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/spec.cy.js.mp4 (X second)
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: stdout_specfile.js (2 of 3)
|
||||
Running: stdout_specfile.cy.js (2 of 3)
|
||||
|
||||
|
||||
stdout_specfile_display_spec
|
||||
@@ -337,20 +337,20 @@ exports['e2e stdout displays fullname of nested specfile 1'] = `
|
||||
│ Screenshots: 0 │
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: stdout_specfile.js │
|
||||
│ Spec Ran: stdout_specfile.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Video)
|
||||
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/stdout_specfile.js.mp4 (X second)
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/stdout_specfile.cy.js.mp4 (X second)
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
Running: stdout_specfile_display_spec_with_a_really_long_name_that_never_has_ (3 of 3)
|
||||
a_line_break_or_new_line.js
|
||||
a_line_break_or_new_line.cy.js
|
||||
|
||||
|
||||
stdout_specfile_display_spec
|
||||
@@ -372,15 +372,15 @@ exports['e2e stdout displays fullname of nested specfile 1'] = `
|
||||
│ Video: true │
|
||||
│ Duration: X seconds │
|
||||
│ Spec Ran: stdout_specfile_display_spec_with_a_really_long_name_that_never_has_a_line_break │
|
||||
│ _or_new_line.js │
|
||||
│ _or_new_line.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
(Screenshots)
|
||||
|
||||
- /XXX/XXX/XXX/cypress/screenshots/stdout_specfile_display_spec_with_a_really_long (1000x660)
|
||||
_name_that_never_has_a_line_break_or_new_line.js/stdout_specfile_display_spec --
|
||||
passes.png
|
||||
_name_that_never_has_a_line_break_or_new_line.cy.js/stdout_specfile_display_spec
|
||||
-- passes.png
|
||||
|
||||
|
||||
(Video)
|
||||
@@ -388,7 +388,7 @@ exports['e2e stdout displays fullname of nested specfile 1'] = `
|
||||
- Started processing: Compressing to 32 CRF
|
||||
- Finished processing: /XXX/XXX/XXX/cypress/videos/stdout_specfile_display_spec_wi (X second)
|
||||
th_a_really_long_name_that_never_has_a_line_break_or_new_li
|
||||
ne.js.mp4
|
||||
ne.cy.js.mp4
|
||||
|
||||
|
||||
====================================================================================================
|
||||
@@ -398,13 +398,13 @@ exports['e2e stdout displays fullname of nested specfile 1'] = `
|
||||
|
||||
Spec Tests Passing Failing Pending Skipped
|
||||
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
|
||||
│ ✔ spec.js XX:XX 1 1 - - - │
|
||||
│ ✔ spec.cy.js XX:XX 1 1 - - - │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ✔ stdout_specfile.js XX:XX 1 1 - - - │
|
||||
│ ✔ stdout_specfile.cy.js XX:XX 1 1 - - - │
|
||||
├────────────────────────────────────────────────────────────────────────────────────────────────┤
|
||||
│ ✔ stdout_specfile_display_spec_with_a XX:XX 1 1 - - - │
|
||||
│ _really_long_name_that_never_has_a_ │
|
||||
│ line_break_or_new_line.js │
|
||||
│ line_break_or_new_line.cy.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
✔ All specs passed! XX:XX 3 3 - - -
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ As the nodeVersion configuration option will be removed in a future release, it
|
||||
│ Cypress: 1.2.3 │
|
||||
│ Browser: FooBrowser 88 │
|
||||
│ Specs: 1 found (bundled.spec.js) │
|
||||
│ Searched: cypress/integration/bundled.spec.js │
|
||||
│ Searched: cypress/e2e/bundled.spec.js │
|
||||
└────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
module.exports = {
|
||||
'e2e': {
|
||||
setupNodeEvents (on, config) {
|
||||
config.specPattern = 'cypress/e2e/*-spec.js'
|
||||
config.specPattern = 'cypress/e2e/a_record.cy.js'
|
||||
|
||||
return config
|
||||
},
|
||||
|
||||
@@ -4,6 +4,7 @@ const plugin = require('./cypress/plugins')
|
||||
module.exports = defineConfig({
|
||||
retries: null,
|
||||
e2e: {
|
||||
specPattern: 'cypress/e2e/**/*.{js,jsx,mjs,ts,tsx,coffee}',
|
||||
setupNodeEvents (on, config) {
|
||||
return plugin(on, config)
|
||||
},
|
||||
|
||||
@@ -2,6 +2,7 @@ const state = {}
|
||||
|
||||
module.exports = {
|
||||
'e2e': {
|
||||
'record': false,
|
||||
setupNodeEvents (on, config) {
|
||||
on('task', {
|
||||
incrState (arg) {
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
describe('dummy file', () => {
|
||||
it('should never execute', () => {
|
||||
throw Error(`
|
||||
This is an mp4 file, and should never be executed.
|
||||
If you are seeing this, something is wrong with the spec detection logic.
|
||||
`)
|
||||
})
|
||||
})
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
module.exports = {
|
||||
'e2e': {
|
||||
'specPattern': '../integration/**/*',
|
||||
'specPattern': '../e2e/**/*',
|
||||
'supportFile': false,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
module.exports = {
|
||||
'e2e': {
|
||||
'supportFile': false,
|
||||
specPattern: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}',
|
||||
setupNodeEvents (on, config) {
|
||||
on('file:preprocessor', () => '/does/not/exist.js')
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
module.exports = {
|
||||
'e2e': {
|
||||
'specPattern': 'cypress/e2e/*',
|
||||
'supportFile': false,
|
||||
setupNodeEvents (on, config) {
|
||||
process.stderr.write('Plugin Loaded\n')
|
||||
|
||||
@@ -18,7 +18,7 @@ describe('e2e cdp', function () {
|
||||
// NOTE: this test takes almost a minute and is largely redundant with protocol_spec
|
||||
systemTests.it.skip('fails when remote debugging port cannot be connected to', {
|
||||
project: 'remote-debugging-port-removed',
|
||||
spec: 'spec.ts',
|
||||
spec: 'spec.cy.ts',
|
||||
browser: 'chrome',
|
||||
expectedExitCode: 1,
|
||||
})
|
||||
@@ -26,7 +26,7 @@ describe('e2e cdp', function () {
|
||||
// https://github.com/cypress-io/cypress/issues/5685
|
||||
systemTests.it('handles disconnections as expected', {
|
||||
project: 'remote-debugging-disconnect',
|
||||
spec: 'spec.ts',
|
||||
spec: 'spec.cy.ts',
|
||||
browser: 'chrome',
|
||||
expectedExitCode: 1,
|
||||
snapshot: true,
|
||||
|
||||
@@ -9,7 +9,7 @@ describe('e2e plugins', () => {
|
||||
|
||||
it('fails when spec does not exist', function () {
|
||||
return systemTests.exec(this, {
|
||||
spec: 'spec.js',
|
||||
spec: 'spec.cy.js',
|
||||
project: 'non-existent-spec',
|
||||
sanitizeScreenshotDimensions: true,
|
||||
snapshot: true,
|
||||
|
||||
@@ -210,7 +210,7 @@ describe('e2e cookies', () => {
|
||||
},
|
||||
},
|
||||
processEnv: FORCED_SAMESITE_ENV,
|
||||
spec: 'cookies_spec_baseurl.js',
|
||||
spec: 'cookies_spec_baseurl.cy.js',
|
||||
snapshot: true,
|
||||
onRun: (exec) => {
|
||||
return exec({
|
||||
@@ -262,7 +262,7 @@ describe('e2e cookies', () => {
|
||||
otherHttpsUrl,
|
||||
},
|
||||
},
|
||||
spec: 'cookies_spec_baseurl.js',
|
||||
spec: 'cookies_spec_baseurl.cy.js',
|
||||
snapshot: true,
|
||||
onRun: (exec) => {
|
||||
return exec({
|
||||
@@ -280,7 +280,7 @@ describe('e2e cookies', () => {
|
||||
},
|
||||
},
|
||||
originalTitle: sharedNoBaseUrlSpecSnapshot,
|
||||
spec: 'cookies_spec_no_baseurl.js',
|
||||
spec: 'cookies_spec_no_baseurl.cy.js',
|
||||
snapshot: true,
|
||||
})
|
||||
})
|
||||
|
||||
@@ -24,7 +24,7 @@ describe('max listeners warning spec', () => {
|
||||
// create a bunch of dummy test files to reproduce #1305
|
||||
await fs.mkdirp(integrationPath)
|
||||
await Promise.all(
|
||||
_.times(15, (i) => fs.writeFile(path.join(integrationPath, `${i}.spec.js`), `it('test', () => {})`)),
|
||||
_.times(15, (i) => fs.writeFile(path.join(integrationPath, `${i}.cy.js`), `it('test', () => {})`)),
|
||||
)
|
||||
|
||||
const { stderr } = await exec()
|
||||
|
||||
@@ -4,7 +4,7 @@ describe('e2e non-proxied spec', () => {
|
||||
systemTests.setup()
|
||||
|
||||
systemTests.it('passes', {
|
||||
spec: 'spec.js',
|
||||
spec: 'spec.cy.js',
|
||||
config: {
|
||||
video: false,
|
||||
},
|
||||
|
||||
@@ -206,7 +206,7 @@ describe('e2e plugins', function () {
|
||||
// https://github.com/cypress-io/cypress/issues/8361
|
||||
it('supports .mjs files', function () {
|
||||
return systemTests.exec(this, {
|
||||
spec: 'mjs_spec.mjs',
|
||||
spec: 'mjs_spec.cy.mjs',
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -396,7 +396,7 @@ describe('e2e record', () => {
|
||||
return systemTests.exec(this, {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id.config.js',
|
||||
spec: 'studio_written.spec.js',
|
||||
spec: 'studio_written.cy.js',
|
||||
record: true,
|
||||
snapshot: true,
|
||||
})
|
||||
@@ -447,7 +447,7 @@ describe('e2e record', () => {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id.config.js',
|
||||
record: true,
|
||||
spec: 'empty_suite.spec.js,empty.spec.js',
|
||||
spec: 'empty_suite.cy.js,empty.cy.js',
|
||||
snapshot: true,
|
||||
expectedExitCode: 0,
|
||||
})
|
||||
@@ -619,7 +619,7 @@ describe('e2e record', () => {
|
||||
await systemTests.exec(this, {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id-without-video.config.js',
|
||||
spec: 'a_record.spec.js,b_record.spec.js',
|
||||
spec: 'a_record.cy.js,b_record.cy.js',
|
||||
record: true,
|
||||
snapshot: false,
|
||||
})
|
||||
@@ -660,7 +660,7 @@ describe('e2e record', () => {
|
||||
await systemTests.exec(this, {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id-without-video.config.js',
|
||||
spec: 'a_record_instantfail.spec.js,b_record.spec.js',
|
||||
spec: 'a_record_instantfail.cy.js,b_record.cy.js',
|
||||
record: true,
|
||||
snapshot: true,
|
||||
expectedExitCode: 1,
|
||||
@@ -688,7 +688,7 @@ describe('e2e record', () => {
|
||||
await systemTests.exec(this, {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id-without-video.config.js',
|
||||
spec: 'a_record_instantfail.spec.js,b_record.spec.js',
|
||||
spec: 'a_record_instantfail.cy.js,b_record.cy.js',
|
||||
record: true,
|
||||
snapshot: true,
|
||||
group: 'abc',
|
||||
@@ -891,7 +891,7 @@ describe('e2e record', () => {
|
||||
await systemTests.exec(this, {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id.config.js',
|
||||
spec: '*_record.spec.js',
|
||||
spec: 'a_record.cy.js,b_record.cy.js',
|
||||
record: true,
|
||||
snapshot: true,
|
||||
expectedExitCode: 1,
|
||||
@@ -1203,7 +1203,7 @@ describe('e2e record', () => {
|
||||
return systemTests.exec(this, {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id.config.js',
|
||||
spec: '*_record_*',
|
||||
spec: 'a_record_instantfail.cy.js',
|
||||
record: true,
|
||||
snapshot: true,
|
||||
expectedExitCode: 1,
|
||||
@@ -1257,7 +1257,7 @@ describe('e2e record', () => {
|
||||
return systemTests.exec(this, {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id.config.js',
|
||||
spec: '*_record.spec*',
|
||||
spec: 'a_record.cy.js,b_record.cy.js',
|
||||
group: 'foo',
|
||||
ciBuildId: 1,
|
||||
expectedExitCode: 1,
|
||||
@@ -1281,7 +1281,7 @@ describe('e2e record', () => {
|
||||
await systemTests.exec(this, {
|
||||
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
|
||||
configFile: 'cypress-with-project-id.config.js',
|
||||
spec: '*_record.spec.js',
|
||||
spec: 'a_record.cy.js,b_record.cy.js',
|
||||
record: true,
|
||||
group: 'foo',
|
||||
ciBuildId: 'ciBuildId123',
|
||||
|
||||
@@ -7,7 +7,7 @@ describe('retries', () => {
|
||||
|
||||
it('supports retries', {
|
||||
project: 'retries-2',
|
||||
spec: 'fail-twice.js',
|
||||
spec: 'fail-twice.cy.js',
|
||||
snapshot: true,
|
||||
})
|
||||
|
||||
@@ -18,7 +18,7 @@ describe('retries', () => {
|
||||
|
||||
it('warns about retries plugin', {
|
||||
project: 'plugin-retries',
|
||||
spec: 'main.spec.js',
|
||||
spec: 'main.spec.cy.js',
|
||||
snapshot: true,
|
||||
})
|
||||
})
|
||||
|
||||
@@ -21,19 +21,19 @@ describe('e2e runnable execution', () => {
|
||||
// https://github.com/cypress-io/cypress/issues/1987
|
||||
systemTests.it('cannot navigate in before hook and test', {
|
||||
project: 'hooks-after-rerun',
|
||||
spec: 'beforehook-and-test-navigation.js',
|
||||
spec: 'beforehook-and-test-navigation.cy.js',
|
||||
snapshot: true,
|
||||
expectedExitCode: 2,
|
||||
})
|
||||
|
||||
systemTests.it('runnables run correct number of times with navigation', {
|
||||
project: 'hooks-after-rerun',
|
||||
spec: 'runnable-run-count.spec.js',
|
||||
spec: 'runnable-run-count.cy.js',
|
||||
snapshot: true,
|
||||
})
|
||||
|
||||
systemTests.it('runs correctly after top navigation with already ran suite', {
|
||||
spec: 'runnables_already_run_suite.js',
|
||||
spec: 'runnables_already_run_suite.cy.js',
|
||||
snapshot: true,
|
||||
expectedExitCode: 1,
|
||||
config: { video: false },
|
||||
|
||||
@@ -139,7 +139,7 @@ describe('e2e sessions', () => {
|
||||
})
|
||||
|
||||
it('sessions persist on reload, and clear between specs', {
|
||||
spec: 'session_persist_spec_1.js,session_persist_spec_2.js',
|
||||
spec: 'session_persist_spec_1.cy.js,session_persist_spec_2.cy.js',
|
||||
snapshot: true,
|
||||
config: {
|
||||
experimentalSessionAndOrigin: true,
|
||||
|
||||
@@ -35,8 +35,7 @@ describe('e2e system node', () => {
|
||||
expect(stderr).to.contain('Plugin Electron version: undefined')
|
||||
})
|
||||
|
||||
// TODO:(tgriesser) originally skipped this, not sure why
|
||||
it.skip('uses bundled node when launching plugins file', async function () {
|
||||
it('uses bundled node when launching plugins file', async function () {
|
||||
const { stderr } = await systemTests.exec(this, {
|
||||
project: 'system-node',
|
||||
config: {
|
||||
|
||||
Reference in New Issue
Block a user