mirror of
https://github.com/xodio/xod.git
synced 2026-03-04 16:04:03 +01:00
54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
/* global browser */
|
|
|
|
/* eslint-disable import/no-extraneous-dependencies */
|
|
import puppeteer from 'puppeteer';
|
|
import webpack from 'webpack';
|
|
import WebpackDevServer from 'webpack-dev-server';
|
|
/* eslint-enable import/no-extraneous-dependencies */
|
|
|
|
import { assert } from 'chai';
|
|
import R from 'ramda';
|
|
import config from '../webpack.config.test';
|
|
|
|
import { PORT } from './server.config';
|
|
|
|
const globalVariables = R.pick(['browser', 'assert'], global);
|
|
|
|
const startServer = () =>
|
|
new Promise((resolve, reject) => {
|
|
const compiler = webpack(config);
|
|
const server = new WebpackDevServer(compiler);
|
|
// Replace the next line with `compiler.hooks.done.tap('onDone', ...`
|
|
// after upgrading webpack to version >4
|
|
compiler.plugin('done', () => {
|
|
resolve(server);
|
|
});
|
|
server.listen(PORT, 'localhost', err => {
|
|
if (err) {
|
|
console.error(err); // eslint-disable-line no-console
|
|
reject(err);
|
|
}
|
|
});
|
|
});
|
|
|
|
before(async () => {
|
|
global.server = await startServer();
|
|
global.assert = assert;
|
|
global.browser = await puppeteer.launch({
|
|
args: [
|
|
'--no-sandbox', // @see https://github.com/GoogleChrome/puppeteer/issues/290
|
|
],
|
|
headless: !process.env.XOD_DEBUG_TESTS,
|
|
slowMo: 10,
|
|
timeout: 10000,
|
|
});
|
|
});
|
|
|
|
after(() => {
|
|
browser.close();
|
|
global.server.close(() => {});
|
|
|
|
global.browser = globalVariables.browser;
|
|
global.assert = globalVariables.assert;
|
|
});
|