1- const assume = require ( 'assume' ) ;
2- const sinon = require ( 'sinon' ) ;
3- const proxyquire = require ( 'proxyquire' ) ;
4- const deprecatedSmartMerge = require ( 'webpack-merge' ) . smart ;
1+ const mockSmartStub = jest . fn ( ) ;
2+
3+ jest . mock ( 'webpack-merge' , ( ) => ( {
4+ smart : mockSmartStub
5+ } ) ) ;
6+
7+ const deprecatedMerges = require ( '../lib/deprecated-merges' ) ;
58
69describe ( 'deprecatedMerges' , function ( ) {
7- let deprecatedMerges , smartStub , mockGasket , mockContext , mockConfig ;
10+ let mockGasket , mockContext , mockConfig ;
811 let mockChain , webpackChainCb , webpackCb ;
912
1013 beforeEach ( function ( ) {
1114 mockChain = {
12- toConfig : sinon . stub ( ) . returns ( { } )
15+ toConfig : jest . fn ( ) . mockReturnValue ( { } )
1316 } ;
1417 mockGasket = {
15- execApplySync : sinon . stub ( ) . callsFake ( ( name , callback ) => {
18+ execApplySync : jest . fn ( ) . mockImplementation ( ( name , callback ) => {
1619 if ( name === 'webpackChain' ) {
1720 webpackChainCb = callback ;
1821 return mockChain ;
@@ -22,46 +25,40 @@ describe('deprecatedMerges', function () {
2225 }
2326 } ) ,
2427 logger : {
25- warning : sinon . stub ( )
28+ warning : jest . fn ( )
2629 } ,
2730 config : { }
2831 } ;
2932 mockContext = { } ;
3033 mockConfig = { } ;
31-
32- smartStub = sinon . stub ( ) . callsFake ( deprecatedSmartMerge ) ;
33- deprecatedMerges = proxyquire ( '../lib/deprecated-merges' , {
34- 'webpack-merge' : {
35- smart : smartStub
36- }
37- } ) ;
34+ mockSmartStub . mockReturnValue ( { } ) ;
3835 } ) ;
3936
4037 afterEach ( function ( ) {
41- sinon . restore ( ) ;
38+ jest . clearAllMocks ( ) ;
4239 } ) ;
4340
4441 it ( 'returns webpack config object' , function ( ) {
4542 const results = deprecatedMerges ( mockGasket , mockConfig , mockContext ) ;
46- assume ( results ) . is . an ( 'object' ) ;
43+ expect ( typeof results ) . toBe ( 'object' ) ;
4744 } ) ;
4845
4946 it ( 'smart merges' , function ( ) {
5047 deprecatedMerges ( mockGasket , mockConfig , mockContext ) ;
51- assume ( smartStub ) . called ( ) ;
48+ expect ( mockSmartStub ) . toHaveBeenCalled ( ) ;
5249 } ) ;
5350
5451 describe ( 'gasket.config.webpack' , function ( ) {
5552
5653 it ( 'logs deprecated warning if set' , function ( ) {
5754 mockGasket . config . webpack = { } ;
5855 deprecatedMerges ( mockGasket , mockConfig , mockContext ) ;
59- assume ( mockGasket . logger . warning ) . calledWithMatch ( / D E P R E C A T E D ` w e b p a c k ` i n G a s k e t c o n f i g / ) ;
56+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / D E P R E C A T E D ` w e b p a c k ` i n G a s k e t c o n f i g / ) ) ;
6057 } ) ;
6158
6259 it ( 'does not log warning if not set' , function ( ) {
6360 deprecatedMerges ( mockGasket , mockConfig , mockContext ) ;
64- assume ( mockGasket . logger . warning ) . not . called ( ) ;
61+ expect ( mockGasket . logger . warning ) . not . toHaveBeenCalled ( ) ;
6562 } ) ;
6663 } ) ;
6764
@@ -72,24 +69,24 @@ describe('deprecatedMerges', function () {
7269 } ) ;
7370
7471 it ( 'logs deprecated warning' , function ( ) {
75- webpackChainCb ( { name : 'mock-plugin' } , sinon . stub ( ) ) ;
76- assume ( mockGasket . logger . warning ) . calledWithMatch ( / D E P R E C A T E D ` w e b p a c k C h a i n ` l i f e c y c l e / ) ;
72+ webpackChainCb ( { name : 'mock-plugin' } , jest . fn ( ) ) ;
73+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / D E P R E C A T E D ` w e b p a c k C h a i n ` l i f e c y c l e / ) ) ;
7774 } ) ;
7875
7976 it ( 'logs plugin name' , function ( ) {
80- webpackChainCb ( { name : 'mock-plugin' } , sinon . stub ( ) ) ;
81- assume ( mockGasket . logger . warning ) . calledWithMatch ( / m o c k - p l u g i n / ) ;
77+ webpackChainCb ( { name : 'mock-plugin' } , jest . fn ( ) ) ;
78+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / m o c k - p l u g i n / ) ) ;
8279 } ) ;
8380
8481 it ( 'logs unnamed plugin' , function ( ) {
85- webpackChainCb ( { } , sinon . stub ( ) ) ;
86- assume ( mockGasket . logger . warning ) . calledWithMatch ( / u n n a m e d p l u g i n / ) ;
82+ webpackChainCb ( { } , jest . fn ( ) ) ;
83+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / u n n a m e d p l u g i n / ) ) ;
8784 } ) ;
8885
8986 it ( 'logs app lifecycle' , function ( ) {
9087 // eslint-disable-next-line no-undefined
91- webpackChainCb ( undefined , sinon . stub ( ) ) ;
92- assume ( mockGasket . logger . warning ) . calledWithMatch ( / a p p l i f e c y c l e / ) ;
88+ webpackChainCb ( undefined , jest . fn ( ) ) ;
89+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / a p p l i f e c y c l e / ) ) ;
9390 } ) ;
9491 } ) ;
9592
@@ -100,24 +97,24 @@ describe('deprecatedMerges', function () {
10097 } ) ;
10198
10299 it ( 'logs deprecated warning' , function ( ) {
103- webpackCb ( { name : 'mock-plugin' } , sinon . stub ( ) ) ;
104- assume ( mockGasket . logger . warning ) . calledWithMatch ( / D E P R E C A T E D ` w e b p a c k ` l i f e c y c l e / ) ;
100+ webpackCb ( { name : 'mock-plugin' } , jest . fn ( ) ) ;
101+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / D E P R E C A T E D ` w e b p a c k ` l i f e c y c l e / ) ) ;
105102 } ) ;
106103
107104 it ( 'logs plugin name' , function ( ) {
108- webpackCb ( { name : 'mock-plugin' } , sinon . stub ( ) ) ;
109- assume ( mockGasket . logger . warning ) . calledWithMatch ( / m o c k - p l u g i n / ) ;
105+ webpackCb ( { name : 'mock-plugin' } , jest . fn ( ) ) ;
106+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / m o c k - p l u g i n / ) ) ;
110107 } ) ;
111108
112109 it ( 'logs unnamed plugin' , function ( ) {
113- webpackCb ( { } , sinon . stub ( ) ) ;
114- assume ( mockGasket . logger . warning ) . calledWithMatch ( / u n n a m e d p l u g i n / ) ;
110+ webpackCb ( { } , jest . fn ( ) ) ;
111+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / u n n a m e d p l u g i n / ) ) ;
115112 } ) ;
116113
117114 it ( 'logs app lifecycle' , function ( ) {
118115 // eslint-disable-next-line no-undefined
119- webpackCb ( undefined , sinon . stub ( ) ) ;
120- assume ( mockGasket . logger . warning ) . calledWithMatch ( / a p p l i f e c y c l e / ) ;
116+ webpackCb ( undefined , jest . fn ( ) ) ;
117+ expect ( mockGasket . logger . warning ) . toHaveBeenCalledWith ( expect . stringMatching ( / a p p l i f e c y c l e / ) ) ;
121118 } ) ;
122119 } ) ;
123120} ) ;
0 commit comments