From 717e9366388c8571ec75baabb3115d77120757fa Mon Sep 17 00:00:00 2001 From: Jay Fong Date: Sat, 12 Mar 2022 16:23:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20cli=20=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E5=9C=A8=20Windows=20=E4=B8=8A=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/cli.test.ts | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/tests/cli.test.ts b/tests/cli.test.ts index fe57c4b..af67f57 100644 --- a/tests/cli.test.ts +++ b/tests/cli.test.ts @@ -1,18 +1,23 @@ import consola from 'consola' import fs from 'fs-extra' import path from 'path' -import tempy from 'tempy' import { CatId } from './consts' import { run } from '../src/cli' -import { wait } from 'vtils' +import { uniqueId, wait } from 'vtils' + +const tempDir = path.join(__dirname, '../.tmp-ytt-test') + +beforeAll(() => { + fs.ensureDirSync(tempDir) +}) + +afterAll(() => { + fs.removeSync(tempDir) +}) function getTempPaths() { - const targetDir = tempy.directory() - fs.symlinkSync( - path.join(__dirname, '../node_modules'), - path.join(targetDir, 'node_modules'), - 'dir', - ) + const targetDir = path.join(tempDir, uniqueId('case')) + fs.ensureDirSync(targetDir) const generatedConfigFile = path.join(targetDir, 'ytt.config.ts') const generatedApiFile = path.join(targetDir, 'src/api/index.ts') const generatedRequestFile = path.join(targetDir, 'src/api/request.ts') @@ -76,7 +81,10 @@ describe('cli', () => { fs .readFileSync(tempPaths.generatedConfigFile) .toString() - .replace('yapi-to-typescript', path.join(__dirname, '../src')) + .replace( + "'yapi-to-typescript'", + JSON.stringify(path.join(__dirname, '../src')), + ) .replace(`dataKey: 'data',`, '') .replace(`id: 50,`, `id: ${CatId.test},`), ) @@ -151,15 +159,24 @@ describe('cli', () => { fs .readFileSync(tempPaths.generatedConfigFile) .toString() - .replace('yapi-to-typescript', path.join(__dirname, '../src')) + .replace( + "'yapi-to-typescript'", + JSON.stringify(path.join(__dirname, '../src')), + ) .replace(`dataKey: 'data',`, '') .replace(`id: 50,`, `id: ${CatId.test},`) .replace( /(?=\)\s*$)/s, `, { - success: () => require('fs').writeFileSync('${successFile}', 'success'), - fail: () => require('fs').writeFileSync('${failFile}', 'fail'), - complete: () => require('fs').writeFileSync('${completeFile}', 'complete'), + success: () => require('fs').writeFileSync(${JSON.stringify( + successFile, + )}, 'success'), + fail: () => require('fs').writeFileSync(${JSON.stringify( + failFile, + )}, 'fail'), + complete: () => require('fs').writeFileSync(${JSON.stringify( + completeFile, + )}, 'complete'), }`, ), )