1+ import { sentryWebpackPlugin } from '@sentry/webpack-plugin' ;
12import { onCreateWebpackConfig } from '../gatsby-node' ;
23
4+ jest . mock ( '@sentry/webpack-plugin' , ( ) => ( {
5+ sentryWebpackPlugin : jest . fn ( ) . mockReturnValue ( {
6+ apply : jest . fn ( ) ,
7+ } ) ,
8+ } ) ) ;
9+
310describe ( 'onCreateWebpackConfig' , ( ) => {
411 let originalNodeEnv : string | undefined ;
512
@@ -12,6 +19,10 @@ describe('onCreateWebpackConfig', () => {
1219 process . env . NODE_ENV = originalNodeEnv ;
1320 } ) ;
1421
22+ afterEach ( ( ) => {
23+ jest . clearAllMocks ( ) ;
24+ } ) ;
25+
1526 it ( 'sets a webpack config' , ( ) => {
1627 const actions = {
1728 setWebpackConfig : jest . fn ( ) ,
@@ -36,4 +47,24 @@ describe('onCreateWebpackConfig', () => {
3647
3748 expect ( actions . setWebpackConfig ) . toHaveBeenCalledTimes ( 0 ) ;
3849 } ) ;
50+
51+ it ( 'sets sourceMapFilesToDeleteAfterUpload when provided in options' , ( ) => {
52+ const actions = {
53+ setWebpackConfig : jest . fn ( ) ,
54+ } ;
55+
56+ const getConfig = jest . fn ( ) ;
57+
58+ onCreateWebpackConfig ( { actions, getConfig } , { deleteSourcemapsAfterUpload : true } ) ;
59+
60+ expect ( actions . setWebpackConfig ) . toHaveBeenCalledTimes ( 1 ) ;
61+
62+ expect ( sentryWebpackPlugin ) . toHaveBeenCalledWith (
63+ expect . objectContaining ( {
64+ sourcemaps : expect . objectContaining ( {
65+ filesToDeleteAfterUpload : [ './public/**/*.map' ] ,
66+ } ) ,
67+ } ) ,
68+ ) ;
69+ } ) ;
3970} ) ;
0 commit comments