nx/packages/angular/src/generators/application/lib/add-unit-test-runner.ts

38 lines
1.1 KiB
TypeScript

import { Tree, joinPathFragments } from '@nx/devkit';
import { configurationGenerator } from '@nx/jest';
import { UnitTestRunner } from '../../../utils/test-runners';
import type { NormalizedSchema } from './normalized-schema';
export async function addUnitTestRunner(host: Tree, options: NormalizedSchema) {
if (options.unitTestRunner === UnitTestRunner.Jest) {
await configurationGenerator(host, {
...options,
project: options.name,
setupFile: 'angular',
supportTsx: false,
skipSerializers: false,
skipPackageJson: options.skipPackageJson,
skipFormat: true,
});
const setupFile = joinPathFragments(
options.appProjectRoot,
'src',
'test-setup.ts'
);
if (options.strict && host.exists(setupFile)) {
const contents = host.read(setupFile, 'utf-8');
host.write(
setupFile,
`// @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment
globalThis.ngJest = {
testEnvironmentOptions: {
errorOnUnknownElements: true,
errorOnUnknownProperties: true,
},
};
${contents}`
);
}
}
}