From 502849fe8ea5a801253bb6b11af92bacd71acf33 Mon Sep 17 00:00:00 2001 From: Johan Haals Date: Thu, 28 Jan 2021 09:14:43 +0100 Subject: [PATCH] Fix paths tests for windows --- .../scaffolder/stages/prepare/file.test.ts | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/stages/prepare/file.test.ts b/plugins/scaffolder-backend/src/scaffolder/stages/prepare/file.test.ts index 6e7f70ac3d..408653aee0 100644 --- a/plugins/scaffolder-backend/src/scaffolder/stages/prepare/file.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/stages/prepare/file.test.ts @@ -17,28 +17,37 @@ import { getVoidLogger } from '@backstage/backend-common'; import fs from 'fs-extra'; import { FilePreparer } from './file'; +import os from 'os'; +import { resolve } from 'path'; jest.mock('fs-extra'); describe('File preparer', () => { - const logger = getVoidLogger(); - const preparer = new FilePreparer(); it('prepares templates from a file path', async () => { + const logger = getVoidLogger(); + const preparer = new FilePreparer(); + const workspacePath = os.platform() === 'win32' ? 'C:\\tmp' : '/tmp'; + const checkoutPath = resolve(workspacePath, 'checkout'); + await preparer.prepare({ url: 'file:///path/to/template', logger, - workspacePath: '/tmp', + workspacePath, }); - expect(fs.copy).toHaveBeenCalledWith('/path/to/template', '/tmp/checkout', { - recursive: true, - }); - expect(fs.ensureDir).toHaveBeenCalledWith('/tmp/checkout'); + expect(fs.copy).toHaveBeenCalledWith( + resolve('/path', 'to', 'template'), + checkoutPath, + { + recursive: true, + }, + ); + expect(fs.ensureDir).toHaveBeenCalledWith(checkoutPath); await expect( preparer.prepare({ url: 'file://not/full/path', logger, - workspacePath: '/tmp', + workspacePath, }), ).rejects.toThrow( "Wrong location protocol, should be 'file', file://not/full/path",