@@ -377,7 +377,72 @@ describe('The config-generator function', () => {
377377
378378 expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . contain ( 'handlebars-loader' ) ;
379379 } ) ;
380+ } ) ;
381+
382+ describe ( 'enableEslintLoader() adds the eslint-loader' , ( ) => {
383+ it ( 'without enableEslintLoader()' , ( ) => {
384+ const config = createConfig ( ) ;
385+ config . addEntry ( 'main' , './main' ) ;
386+ config . publicPath = '/' ;
387+ config . outputPath = '/tmp' ;
388+
389+ const actualConfig = configGenerator ( config ) ;
390+
391+ expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . not . contain ( 'eslint-loader' ) ;
392+ } ) ;
393+
394+ it ( 'enableEslintLoader()' , ( ) => {
395+ const config = createConfig ( ) ;
396+ config . addEntry ( 'main' , './main' ) ;
397+ config . publicPath = '/' ;
398+ config . outputPath = '/tmp' ;
399+ config . enableEslintLoader ( ) ;
400+
401+ const actualConfig = configGenerator ( config ) ;
402+
403+ expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . contain ( 'eslint-loader' ) ;
404+ } ) ;
405+
406+ it ( 'enableEslintLoader("extends-name")' , ( ) => {
407+ const config = createConfig ( ) ;
408+ config . addEntry ( 'main' , './main' ) ;
409+ config . publicPath = '/' ;
410+ config . outputPath = '/tmp' ;
411+ config . enableEslintLoader ( 'extends-name' ) ;
412+
413+ const actualConfig = configGenerator ( config ) ;
414+
415+ expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . contain ( 'eslint-loader' ) ;
416+ expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . contain ( 'extends-name' ) ;
417+ } ) ;
418+
419+ it ( 'enableEslintLoader({extends: "extends-name"})' , ( ) => {
420+ const config = createConfig ( ) ;
421+ config . addEntry ( 'main' , './main' ) ;
422+ config . publicPath = '/' ;
423+ config . outputPath = '/tmp' ;
424+ config . enableEslintLoader ( { extends : 'extends-name' } ) ;
425+
426+ const actualConfig = configGenerator ( config ) ;
380427
428+ expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . contain ( 'eslint-loader' ) ;
429+ expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . contain ( 'extends-name' ) ;
430+ } ) ;
431+
432+ it ( 'enableEslintLoader((options) => ...)' , ( ) => {
433+ const config = createConfig ( ) ;
434+ config . addEntry ( 'main' , './main' ) ;
435+ config . publicPath = '/' ;
436+ config . outputPath = '/tmp' ;
437+ config . enableEslintLoader ( ( options ) => {
438+ options . extends = 'extends-name' ;
439+ } ) ;
440+
441+ const actualConfig = configGenerator ( config ) ;
442+
443+ expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . contain ( 'eslint-loader' ) ;
444+ expect ( JSON . stringify ( actualConfig . module . rules ) ) . to . contain ( 'extends-name' ) ;
445+ } ) ;
381446 } ) ;
382447
383448 describe ( 'addLoader() adds a custom loader' , ( ) => {
0 commit comments