1
- import { describe , test , mock , before } from "node:test" ;
1
+ import { describe , test , mock , before , after } from "node:test" ;
2
2
import assert from "node:assert/strict" ;
3
3
4
- let Model ;
5
4
/**
6
5
* mock.module() was added in 22.3.0
7
6
*/
8
7
const isNode22Point3OrLower = ( ( ) => {
9
8
const [ major , minor , _patch ] = process . versions . node . split ( "." ) ;
10
9
return ! ( parseInt ( major , 10 ) >= 22 && parseInt ( minor , 10 ) >= 3 ) ;
11
10
} ) ( ) ;
12
- describe ( 'Class extends Mock - native' , { skip : isNode22Point3OrLower } , ( ) => {
13
- test ( "It should not throw when passed a model containing an empty list of meetings" , async ( ) => {
14
- mock . module ( 'sequelize' , {
11
+
12
+ let Model ;
13
+ /** @type {ReturnType<typeof mock['module']> }*/
14
+ let modelMock ;
15
+ describe ( "Class extends Mock - native" , { skip : isNode22Point3OrLower } , ( ) => {
16
+ before ( async ( ) => {
17
+ modelMock = mock . module ( "sequelize" , {
15
18
namedExports : {
16
- Model : class { }
17
- }
19
+ Model : class { } ,
20
+ } ,
18
21
} ) ;
19
22
20
- const { default : _model } = await import ( `./02.04-model.js?ts=${ Date . now ( ) } ` ) ;
21
- Model = _model ;
22
-
23
+ const { default : model } = await import ( "./02.04-model.js" ) ;
24
+ Model = model ;
25
+ } ) ;
26
+ after ( ( ) => {
27
+ modelMock . restore ( ) ;
28
+ } ) ;
29
+ test ( "It should not throw when passed a model containing an empty list of meetings" , async ( t ) => {
23
30
const model = new Model ( ) ;
24
31
model . meetings = [ ] ;
25
32
assert . doesNotThrow ( model . isAvailable . bind ( model , new Date ( Date . now ( ) ) ) ) ;
@@ -31,5 +38,4 @@ describe('Class extends Mock - native', {skip: isNode22Point3OrLower }, () => {
31
38
} ) ;
32
39
assert . doesNotThrow ( model . isAvailable . bind ( model , new Date ( Date . now ( ) ) ) ) ;
33
40
} ) ;
34
-
35
- } )
41
+ } ) ;
0 commit comments