@@ -66,7 +66,37 @@ describe('booter-utils unit tests', () => {
66
66
const files = [ resolve ( sandbox . path , 'multiple.artifact.js' ) ] ;
67
67
const NUM_CLASSES = 2 ; // Number of classes in above file
68
68
69
- const classes = loadClassesFromFiles ( files , sandbox . path ) ;
69
+ const classes = await loadClassesFromFiles ( files , sandbox . path ) ;
70
+ expect ( classes ) . to . have . lengthOf ( NUM_CLASSES ) ;
71
+ expect ( classes [ 0 ] ) . to . be . a . Function ( ) ;
72
+ expect ( classes [ 1 ] ) . to . be . a . Function ( ) ;
73
+ } ) ;
74
+
75
+ it ( 'loads classes from CJS files' , async ( ) => {
76
+ const artifactFilename = 'multiple.artifact.cjs' ;
77
+ await sandbox . copyFile (
78
+ resolve ( __dirname , '../../fixtures/multiple.artifact.cjs' ) ,
79
+ ) ;
80
+ const NUM_CLASSES = 2 ;
81
+ const classes = await loadClassesFromFiles (
82
+ [ resolve ( sandbox . path , artifactFilename ) ] ,
83
+ sandbox . path ,
84
+ ) ;
85
+ expect ( classes ) . to . have . lengthOf ( NUM_CLASSES ) ;
86
+ expect ( classes [ 0 ] ) . to . be . a . Function ( ) ;
87
+ expect ( classes [ 1 ] ) . to . be . a . Function ( ) ;
88
+ } ) ;
89
+
90
+ it ( 'loads classes from ESM files' , async ( ) => {
91
+ const artifactFilename = 'multiple.artifact.mjs' ;
92
+ await sandbox . copyFile (
93
+ resolve ( __dirname , '../../fixtures/multiple.artifact.mjs' ) ,
94
+ ) ;
95
+ const NUM_CLASSES = 2 ;
96
+ const classes = await loadClassesFromFiles (
97
+ [ resolve ( sandbox . path , artifactFilename ) ] ,
98
+ sandbox . path ,
99
+ ) ;
70
100
expect ( classes ) . to . have . lengthOf ( NUM_CLASSES ) ;
71
101
expect ( classes [ 0 ] ) . to . be . a . Function ( ) ;
72
102
expect ( classes [ 1 ] ) . to . be . a . Function ( ) ;
@@ -78,16 +108,16 @@ describe('booter-utils unit tests', () => {
78
108
) ;
79
109
const files = [ resolve ( sandbox . path , 'empty.artifact.js' ) ] ;
80
110
81
- const classes = loadClassesFromFiles ( files , sandbox . path ) ;
111
+ const classes = await loadClassesFromFiles ( files , sandbox . path ) ;
82
112
expect ( classes ) . to . be . an . Array ( ) ;
83
113
expect ( classes ) . to . be . empty ( ) ;
84
114
} ) ;
85
115
86
116
it ( 'throws an error given a non-existent file' , async ( ) => {
87
117
const files = [ resolve ( sandbox . path , 'fake.artifact.js' ) ] ;
88
- expect ( ( ) => loadClassesFromFiles ( files , sandbox . path ) ) . to . throw (
89
- / C a n n o t f i n d m o d u l e / ,
90
- ) ;
118
+ await expect (
119
+ loadClassesFromFiles ( files , sandbox . path ) ,
120
+ ) . to . be . rejectedWith ( / C a n n o t f i n d m o d u l e / ) ;
91
121
} ) ;
92
122
} ) ;
93
123
} ) ;
0 commit comments