From aec0078404c5d24a8019ec764229a7636d9cbeaa Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Thu, 18 Mar 2021 11:23:18 -0400 Subject: [PATCH] ci: fix component-path-case E2E test on Windows CI Windows CI is failing when trying to use the common test cleanup routine for the `generate/component/component-path-case` E2E test. This fix manually removes the newly created directory within the test. --- .../generate/component/component-path-case.ts | 51 +++++++++++-------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/generate/component/component-path-case.ts b/tests/legacy-cli/e2e/tests/generate/component/component-path-case.ts index 2a53a34468..f76c09abe1 100644 --- a/tests/legacy-cli/e2e/tests/generate/component/component-path-case.ts +++ b/tests/legacy-cli/e2e/tests/generate/component/component-path-case.ts @@ -1,27 +1,38 @@ -import {join} from 'path'; -import {ng} from '../../../utils/process'; -import {expectFileToExist} from '../../../utils/fs'; +import { join } from 'path'; +import { ng } from '../../../utils/process'; +import { expectFileToExist, rimraf } from '../../../utils/fs'; - -export default function() { +export default async function () { const upperDirs = join('non', 'existing', 'dir'); const rootDir = join('src', 'app', upperDirs); - const componentDir = join(rootDir, 'test-component'); - const componentTwoDir = join(rootDir, 'test-component-two'); + const componentDirectory = join(rootDir, 'test-component'); + const componentTwoDirectory = join(rootDir, 'test-component-two'); - return ng('generate', 'component', `${upperDirs}/test-component`) - .then(() => expectFileToExist(componentDir)) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.ts'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.spec.ts'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.html'))) - .then(() => expectFileToExist(join(componentDir, 'test-component.component.css'))) - .then(() => ng('generate', 'component', `${upperDirs}/Test-Component-Two`)) - .then(() => expectFileToExist(join(componentTwoDir, 'test-component-two.component.ts'))) - .then(() => expectFileToExist(join(componentTwoDir, 'test-component-two.component.spec.ts'))) - .then(() => expectFileToExist(join(componentTwoDir, 'test-component-two.component.html'))) - .then(() => expectFileToExist(join(componentTwoDir, 'test-component-two.component.css'))) + try { + // Generate a component + await ng('generate', 'component', `${upperDirs}/test-component`) - // Try to run the unit tests. - .then(() => ng('test', '--watch=false')); + // Ensure component is created in the correct location relative to the workspace root + await expectFileToExist(join(componentDirectory, 'test-component.component.ts')); + await expectFileToExist(join(componentDirectory, 'test-component.component.spec.ts')); + await expectFileToExist(join(componentDirectory, 'test-component.component.html')); + await expectFileToExist(join(componentDirectory, 'test-component.component.css')); + + // Generate another component + await ng('generate', 'component', `${upperDirs}/Test-Component-Two`); + + // Ensure component is created in the correct location relative to the workspace root + await expectFileToExist(join(componentTwoDirectory, 'test-component-two.component.ts')); + await expectFileToExist(join(componentTwoDirectory, 'test-component-two.component.spec.ts')); + await expectFileToExist(join(componentTwoDirectory, 'test-component-two.component.html')); + await expectFileToExist(join(componentTwoDirectory, 'test-component-two.component.css')); + + // Ensure unit test execute and pass + await ng('test', '--watch=false'); + } finally { + // Windows CI may fail to clean up the created directory + // Resolves: "Error: Running "cmd.exe /c git clean -df" returned error code 1" + await rimraf(rootDir); + } }