1- import { join , resolve } from "path" ;
2- import { existsSync , readdirSync } from "fs" ;
3- import filter from "lodash/filter.js" ;
4- import forEach from "lodash/forEach.js" ;
5- import isEmpty from "lodash/isEmpty.js" ;
6- import isArray from "lodash/isArray.js" ;
7- import includes from "lodash/includes.js" ;
8- // @ts -ignore
9- import config from "./config.json" with { type : "json" } ;
1+ import { join , resolve } from 'path' ;
2+ import { existsSync , readdirSync } from 'fs' ;
3+ import filter = require( 'lodash/filter.js' ) ;
4+ import forEach = require( 'lodash/forEach.js' ) ;
5+ import isEmpty = require( 'lodash/isEmpty.js' ) ;
6+ import isArray = require( 'lodash/isArray.js' ) ;
7+ import includes = require( 'lodash/includes.js' ) ;
108
9+ const config = require ( './config.json' ) ;
1110const { IS_TS , UNIT_EXECUTION_ORDER , INTEGRATION_EXECUTION_ORDER } = config ;
1211
13- const testFileExtension = IS_TS ? " .ts" : " .js" ;
14- process . env . TS_NODE_PROJECT = resolve ( " test/tsconfig.json" ) ;
12+ const testFileExtension = IS_TS ? ' .ts' : ' .js' ;
13+ process . env . TS_NODE_PROJECT = resolve ( ' test/tsconfig.json' ) ;
1514
1615/**
1716 * @method getFileName
1817 * @param {string } file
1918 * @returns {string }
2019 */
2120const getFileName = ( file : string ) : string => {
22- if ( includes ( file , " .test" ) && includes ( file , testFileExtension ) ) return file ;
23- else if ( includes ( file , " .test" ) ) return `${ file } ${ testFileExtension } ` ;
24- else if ( ! includes ( file , " .test" ) ) return `${ file } .test${ testFileExtension } ` ;
21+ if ( includes ( file , ' .test' ) && includes ( file , testFileExtension ) ) return file ;
22+ else if ( includes ( file , ' .test' ) ) return `${ file } ${ testFileExtension } ` ;
23+ else if ( ! includes ( file , ' .test' ) ) return `${ file } .test${ testFileExtension } ` ;
2524 else return `${ file } .test${ testFileExtension } ` ;
2625} ;
2726
@@ -30,7 +29,7 @@ const getFileName = (file: string): string => {
3029 * @param {Array<string> } files
3130 * @param {string } basePath
3231 */
33- const includeTestFiles = ( files : Array < string > , basePath = " integration" ) => {
32+ const includeTestFiles = ( files : Array < string > , basePath = ' integration' ) => {
3433 forEach ( files , ( file ) => {
3534 const filename = getFileName ( file ) ;
3635 const filePath = join ( __dirname , basePath , filename ) ;
@@ -49,27 +48,24 @@ const includeTestFiles = (files: Array<string>, basePath = "integration") => {
4948 * @param {Array<string> | undefined | null } executionOrder
5049 * @param {boolean } isIntegrationTest
5150 */
52- const run = (
53- executionOrder : Array < string > | undefined | null ,
54- isIntegrationTest = true
55- ) => {
56- const testFolder = isIntegrationTest ? "integration" : "unit" ;
51+ const run = ( executionOrder : Array < string > | undefined | null , isIntegrationTest = true ) => {
52+ const testFolder = isIntegrationTest ? 'integration' : 'unit' ;
5753
5854 if ( executionOrder && isArray ( executionOrder ) && ! isEmpty ( executionOrder ) ) {
5955 includeTestFiles ( executionOrder , testFolder ) ;
6056 } else {
6157 const basePath = join ( __dirname , testFolder ) ;
6258 const allIntegrationTestFiles = filter ( readdirSync ( basePath ) , ( file ) =>
63- includes ( file , `.test${ testFileExtension } ` )
59+ includes ( file , `.test${ testFileExtension } ` ) ,
6460 ) ;
6561 includeTestFiles ( allIntegrationTestFiles ) ;
6662 }
6763} ;
6864
6965const args = process . argv . slice ( 2 ) ;
7066
71- if ( includes ( args , " --integration-test" ) ) {
67+ if ( includes ( args , ' --integration-test' ) ) {
7268 run ( INTEGRATION_EXECUTION_ORDER ) ;
73- } else if ( includes ( args , " --unit-test" ) ) {
69+ } else if ( includes ( args , ' --unit-test' ) ) {
7470 run ( UNIT_EXECUTION_ORDER , false ) ;
7571}
0 commit comments