Skip to content

Commit

Permalink
tests: add tests for function config
Browse files Browse the repository at this point in the history
  • Loading branch information
snitin315 committed Nov 3, 2020
1 parent ed5ff3d commit b47a905
Show file tree
Hide file tree
Showing 6 changed files with 72 additions and 0 deletions.
40 changes: 40 additions & 0 deletions test/config/function/functional-config.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
'use strict';
const { resolve } = require('path');
const { stat } = require('fs');
const { run } = require('../../utils/test-utils');

describe('functional config', () => {
it('should work as expected in case of single config', (done) => {
const { stderr, stdout, exitCode } = run(__dirname, ['--config', resolve(__dirname, 'single-webpack.config.js')]);

expect(stderr).toBeFalsy();
expect(stdout).toContain('./src/index.js');
expect(exitCode).toBe(0);

stat(resolve(__dirname, './bin/dist-single.js'), (err, stats) => {
expect(err).toBe(null);
expect(stats.isFile()).toBe(true);
done();
});
});

it('should work as expected in case of multiple config', (done) => {
const { stderr, stdout, exitCode } = run(__dirname, ['--config', resolve(__dirname, 'multi-webpack.config.js')]);

expect(stderr).toBeFalsy();
expect(stdout).toContain('first');
expect(stdout).toContain('second');
expect(exitCode).toBe(0);

stat(resolve(__dirname, './bin/dist-first.js'), (err, stats) => {
expect(err).toBe(null);
expect(stats.isFile()).toBe(true);
done();
});
stat(resolve(__dirname, './bin/dist-second.js'), (err, stats) => {
expect(err).toBe(null);
expect(stats.isFile()).toBe(true);
done();
});
});
});
20 changes: 20 additions & 0 deletions test/config/function/multi-webpack.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
module.exports = () => [
{
output: {
filename: './dist-first.js',
},
name: 'first',
entry: './src/first.js',
mode: 'development',
stats: 'minimal',
},
{
output: {
filename: './dist-second.js',
},
name: 'second',
entry: './src/second.js',
mode: 'production',
stats: 'minimal',
},
];
9 changes: 9 additions & 0 deletions test/config/function/single-webpack.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module.exports = () => {
return {
output: {
filename: './dist-single.js',
},
name: 'single',
mode: 'development',
};
};
1 change: 1 addition & 0 deletions test/config/function/src/first.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log('first entry');
1 change: 1 addition & 0 deletions test/config/function/src/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log('default index');
1 change: 1 addition & 0 deletions test/config/function/src/second.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log('second entry');

0 comments on commit b47a905

Please sign in to comment.