1- import { describe , test , mock , before } from "node:test" ;
1+ import { describe , test , mock , before , after } from "node:test" ;
22import assert from "node:assert/strict" ;
33
4- let Model ;
54/**
65 * mock.module() was added in 22.3.0
76 */
87const isNode22Point3OrLower = ( ( ) => {
98 const [ major , minor , _patch ] = process . versions . node . split ( "." ) ;
109 return ! ( parseInt ( major , 10 ) >= 22 && parseInt ( minor , 10 ) >= 3 ) ;
1110} ) ( ) ;
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" , {
1518 namedExports : {
16- Model : class { }
17- }
19+ Model : class { } ,
20+ } ,
1821 } ) ;
1922
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 ) => {
2330 const model = new Model ( ) ;
2431 model . meetings = [ ] ;
2532 assert . doesNotThrow ( model . isAvailable . bind ( model , new Date ( Date . now ( ) ) ) ) ;
@@ -31,5 +38,4 @@ describe('Class extends Mock - native', {skip: isNode22Point3OrLower }, () => {
3138 } ) ;
3239 assert . doesNotThrow ( model . isAvailable . bind ( model , new Date ( Date . now ( ) ) ) ) ;
3340 } ) ;
34-
35- } )
41+ } ) ;
0 commit comments