1- import fs from 'fs' ;
1+ import fs , { copyFileSync } from 'fs' ;
22import { afterAll , beforeAll , describe , expect , test } from 'vitest' ;
33import build from '../src' ;
44import type { ConfigFile } from '../src/getConfig' ;
@@ -7,20 +7,21 @@ describe('cli test', () => {
77 beforeAll ( ( ) => fs . mkdirSync ( '_samples' ) ) ;
88 afterAll ( ( ) => fs . promises . rmdir ( '_samples' , { recursive : true } ) ) ;
99
10- test ( 'main' , ( ) => {
11- const configs : ConfigFile [ ] = require ( '../aspida.config.js' ) ;
10+ const configs : ConfigFile [ ] = require ( '../aspida.config.js' ) ;
1211
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 } ` ;
1715
18- await build ( { ...config , openapi : { outputFile } } ) [ 0 ] ;
16+ if ( config . input . endsWith ( 'openapi' ) ) {
17+ // override doc info
18+ copyFileSync ( `${ config . input } .json` , outputFile ) ;
19+ }
1920
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 , '' ) ,
2425 ) ;
2526 } ) ;
2627} ) ;
0 commit comments