mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-25 16:39:04 -06:00
56 lines
2.0 KiB
TypeScript
56 lines
2.0 KiB
TypeScript
import systemTests from '../lib/system-tests'
|
|
import Fixtures from '../lib/fixtures'
|
|
import path from 'path'
|
|
import globby from 'globby'
|
|
import { escapeRegExp } from 'lodash'
|
|
|
|
describe('@cypress/webpack-dev-server', function () {
|
|
systemTests.setup()
|
|
|
|
const wdsPath = Fixtures.projectPath('webpack-dev-server')
|
|
|
|
systemTests.it('successfully loads and runs all specs', {
|
|
project: 'webpack-dev-server',
|
|
testingType: 'component',
|
|
spec: 'src/**/*',
|
|
browser: 'chrome',
|
|
expectedExitCode: 0,
|
|
onRun: async (exec) => {
|
|
// We do not expect any failures in this suite, but we need to check that we actually ran
|
|
// the tests that we expected to run to validate that WDS is properly parsing & loading
|
|
// tests with special filepaths
|
|
|
|
const { stdout } = await exec()
|
|
|
|
// Find all specs that should have been run as part of this system test
|
|
// by scanning filesystem using spec pattern
|
|
const files = await globby(path.join(wdsPath, 'src', '**', '*'))
|
|
|
|
// sanity check that we actually found some spec files
|
|
expect(files).to.have.length.greaterThan(0)
|
|
|
|
files.forEach((fileName) => {
|
|
// Parse out the subpath under 'src' that we expect to appear in the output results table
|
|
const expectedFileName = fileName
|
|
.replace(path.join(wdsPath, 'src'), '')
|
|
.replace(/^\/|\\/, '') // Remove leading path separator if one exists
|
|
|
|
// Pattern to match final output table entry
|
|
// Should include checkmark, filename, # of tests (1), and # of passes (1)
|
|
// ✔ [...bar].cy.js 17ms 1 1
|
|
const expectedPattern = new RegExp(`✔\\s+${escapeRegExp(expectedFileName)}\\s+\\d+ms\\s+1\\s+1`)
|
|
|
|
expect(stdout).to.match(expectedPattern)
|
|
})
|
|
},
|
|
})
|
|
|
|
systemTests.it('successfully loads and runs all specs with typescript config', {
|
|
project: 'webpack-dev-server-ts',
|
|
testingType: 'component',
|
|
spec: 'test.cy.ts',
|
|
browser: 'chrome',
|
|
expectedExitCode: 0,
|
|
})
|
|
})
|