File tree Expand file tree Collapse file tree 3 files changed +17
-1
lines changed Expand file tree Collapse file tree 3 files changed +17
-1
lines changed Original file line number Diff line number Diff line change 4
4
5
5
### Fixes
6
6
7
+ - ` [jest-mock] ` Treat cjs modules as objects so they can be mocked ([ #13513 ] ( https://github.com/facebook/jest/pull/13513 ) )
8
+
7
9
### Chore & Maintenance
8
10
9
11
- ` [@jest/transform] ` Update ` convert-source-map ` ([ #13509 ] ( https://github.com/facebook/jest/pull/13509 ) )
Original file line number Diff line number Diff line change @@ -213,6 +213,20 @@ describe('moduleMocker', () => {
213
213
expect ( mock . enumGetter ) . toBeDefined ( ) ;
214
214
} ) ;
215
215
216
+ it ( 'handles custom toString of transpiled modules' , ( ) => {
217
+ const foo = Object . defineProperties (
218
+ { foo : 'bar' } ,
219
+ {
220
+ __esModule : { value : true } ,
221
+ [ Symbol . toStringTag ] : { value : 'Module' } ,
222
+ } ,
223
+ ) ;
224
+ const mock = moduleMocker . generateFromMetadata (
225
+ moduleMocker . getMetadata ( foo ) ,
226
+ ) ;
227
+ expect ( mock . foo ) . toBeDefined ( ) ;
228
+ } ) ;
229
+
216
230
it ( 'mocks ES2015 non-enumerable methods' , ( ) => {
217
231
class ClassFoo {
218
232
foo ( ) { }
Original file line number Diff line number Diff line change @@ -426,7 +426,7 @@ function getType(ref?: unknown): MockMetadataType | null {
426
426
return 'function' ;
427
427
} else if ( Array . isArray ( ref ) ) {
428
428
return 'array' ;
429
- } else if ( typeName === 'Object' ) {
429
+ } else if ( typeName === 'Object' || typeName === 'Module' ) {
430
430
return 'object' ;
431
431
} else if (
432
432
typeName === 'Number' ||
You can’t perform that action at this time.
0 commit comments