UNPKG

webpack-bootstrap

Version:

Easily implement webpack for any kind of front-end app

51 lines (37 loc) 1.57 kB
'use strict'; var _inquirer = require('inquirer'); var _inquirer2 = _interopRequireDefault(_inquirer); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _proxyquire = require('proxyquire'); var _proxyquire2 = _interopRequireDefault(_proxyquire); var _config = require('../configs/config.vue'); var _config2 = _interopRequireDefault(_config); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('generate-config', () => { it('should create a prompt when there is no .wbootrc found', () => { sinon.stub(_inquirer2.default, 'prompt').returns(Promise.reject()); const generateConfig = (0, _proxyquire2.default)('./generate-config', { './config-detect': { default: () => undefined } }).default; generateConfig(); expect(_inquirer2.default.prompt.called).to.be.true; }); it('should not create prompt and wrap vue config when set liberary as vue in .wbootrc', () => { const generateConfig = (0, _proxyquire2.default)('./generate-config', { './config-detect': { default: () => 'somepath' } }).default; sinon.stub(_inquirer2.default, 'prompt'); sinon.stub(_fs2.default, 'readFileSync').returns('{"liberary":"vue"}'); expect(_inquirer2.default.prompt.called).to.be.false; return generateConfig().then(webpackConfigWithVueLoaders => { _config2.default.loaders.forEach(loaderItem => { expect(webpackConfigWithVueLoaders.module.rules.includes(loaderItem)).to.be.true; }); }); }); });