Files
cypress/npm/webpack-dev-server/test/devServer-unit.spec.ts
Tim Griesser 566a7b1feb fix: UNIFY-1774 error if component config is not sourced for webpack/vite (#21563)
* fix: UNIFY-1774, throw error if we do not detect a webpackConfig for the user

* remove dead code, rely on auto-sourcing webpack config

* fix error styles, exit the devServer process when config is missing, guard against empty remoteState

* Add missing webpack for todos project

* Update npm/webpack-dev-server/src/makeWebpackConfig.ts

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
2022-05-31 14:34:05 -04:00

83 lines
2.5 KiB
TypeScript

import path from 'path'
import proxyquire from 'proxyquire'
import { expect } from 'chai'
import { createModuleMatrixResult } from './test-helpers/createModuleMatrixResult'
import EventEmitter from 'events'
const cypressConfig = {
projectRoot: path.join(__dirname, 'test-fixtures'),
devServerPublicPathRoute: path.join(__dirname, './test-public-path'),
indexHtmlFile: path.join(__dirname, 'component-index.html'),
} as Cypress.PluginConfigOptions
describe('devServer', function () {
this.timeout(10 * 1000)
it('creates a new devServer webpack4, webpackDevServer3', async () => {
const { devServer } = proxyquire('../src/devServer', {
'./helpers/sourceRelativeWebpackModules': {
sourceDefaultWebpackDependencies: () => {
return createModuleMatrixResult({
webpack: 4,
webpackDevServer: 3,
})
} },
}) as typeof import('../src/devServer')
const result = await devServer.create({
specs: [],
cypressConfig,
webpackConfig: {},
devServerEvents: new EventEmitter(),
})
expect(result.server).to.be.instanceOf(require('webpack-dev-server-3'))
expect(result.version).to.eq(3)
})
it('creates a new devServer webpack4, webpackDevServer4', async () => {
const { devServer } = proxyquire('../src/devServer', {
'./helpers/sourceRelativeWebpackModules': {
sourceDefaultWebpackDependencies: () => {
return createModuleMatrixResult({
webpack: 4,
webpackDevServer: 4,
})
} },
}) as typeof import('../src/devServer')
const result = await devServer.create({
specs: [],
cypressConfig,
webpackConfig: {},
devServerEvents: new EventEmitter(),
})
expect(result.server).to.be.instanceOf(require('webpack-dev-server'))
expect(result.version).to.eq(4)
})
it('creates a new devServer webpack5, webpackDevServer4', async () => {
const { devServer } = proxyquire('../src/devServer', {
'./helpers/sourceRelativeWebpackModules': {
sourceDefaultWebpackDependencies: () => {
return createModuleMatrixResult({
webpack: 5,
webpackDevServer: 4,
})
} },
}) as typeof import('../src/devServer')
const result = await devServer.create({
specs: [],
cypressConfig,
webpackConfig: {},
devServerEvents: new EventEmitter(),
})
expect(result.server).to.be.instanceOf(require('webpack-dev-server'))
expect(result.version).to.eq(4)
})
})