1
- import fs from 'fs' ;
1
+ import fs , { copyFileSync } from 'fs' ;
2
2
import { afterAll , beforeAll , describe , expect , test } from 'vitest' ;
3
3
import build from '../src' ;
4
4
import type { ConfigFile } from '../src/getConfig' ;
@@ -7,20 +7,21 @@ describe('cli test', () => {
7
7
beforeAll ( ( ) => fs . mkdirSync ( '_samples' ) ) ;
8
8
afterAll ( ( ) => fs . promises . rmdir ( '_samples' , { recursive : true } ) ) ;
9
9
10
- test ( 'main' , ( ) => {
11
- const configs : ConfigFile [ ] = require ( '../aspida.config.js' ) ;
10
+ const configs : ConfigFile [ ] = require ( '../aspida.config.js' ) ;
12
11
13
- return Promise . all (
14
- configs . map ( async ( config ) => {
15
- const originalFile = config . openapi ?. outputFile ?? `${ config . input } .json` ;
16
- const outputFile = `_${ originalFile } ` ;
12
+ test . each ( configs ) ( '$input' , ( config ) => {
13
+ const originalFile = config . openapi ?. outputFile ?? `${ config . input } .json` ;
14
+ const outputFile = `_${ originalFile } ` ;
17
15
18
- await build ( { ...config , openapi : { outputFile } } ) [ 0 ] ;
16
+ if ( config . input . endsWith ( 'openapi' ) ) {
17
+ // override doc info
18
+ copyFileSync ( `${ config . input } .json` , outputFile ) ;
19
+ }
19
20
20
- expect ( fs . readFileSync ( outputFile , 'utf8' ) ) . toBe (
21
- fs . readFileSync ( originalFile , 'utf8' ) . replace ( / \r / g , '' ) ,
22
- ) ;
23
- } ) ,
21
+ build ( { ... config , openapi : { outputFile } } ) ;
22
+
23
+ expect ( fs . readFileSync ( outputFile , 'utf8' ) ) . toBe (
24
+ fs . readFileSync ( originalFile , 'utf8' ) . replace ( / \r / g , '' ) ,
24
25
) ;
25
26
} ) ;
26
27
} ) ;
0 commit comments