UNPKG

4.52 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getMockContext = exports.getTestArchitect = exports.createLibWithTests = exports.runMigration = exports.callRule = exports.runSchematic = exports.runExternalSchematic = void 0;
4const tslib_1 = require("tslib");
5const path_1 = require("path");
6const testing_1 = require("@angular-devkit/schematics/testing");
7const workspace_1 = require("./workspace");
8const testing_2 = require("@angular-devkit/architect/testing");
9const core_1 = require("@angular-devkit/core");
10const architect_1 = require("@angular-devkit/architect");
11const testing_utils_1 = require("./testing-utils");
12const devkit_1 = require("@nrwl/devkit");
13const testRunner = new testing_1.SchematicTestRunner('@nrwl/workspace', (0, path_1.join)(__dirname, '../../generators.json'));
14testRunner.registerCollection('@nrwl/jest', (0, path_1.join)(__dirname, '../../../jest/generators.json'));
15testRunner.registerCollection('@nrwl/cypress', (0, path_1.join)(__dirname, '../../../cypress/generators.json'));
16testRunner.registerCollection('@nrwl/express', (0, path_1.join)(__dirname, '../../../express/generators.json'));
17testRunner.registerCollection('@nrwl/react', (0, path_1.join)(__dirname, '../../../react/generators.json'));
18testRunner.registerCollection('@nrwl/angular', (0, path_1.join)(__dirname, '../../../angular/generators.json'));
19testRunner.registerCollection('@nrwl/next', (0, path_1.join)(__dirname, '../../../next/generators.json'));
20testRunner.registerCollection('@nrwl/node', (0, path_1.join)(__dirname, '../../../node/generators.json'));
21testRunner.registerCollection('@nrwl/nest', (0, path_1.join)(__dirname, '../../../nest/generators.json'));
22testRunner.registerCollection('@nrwl/web', (0, path_1.join)(__dirname, '../../../web/generators.json'));
23const migrationTestRunner = new testing_1.SchematicTestRunner('@nrwl/workspace/migrations', (0, path_1.join)(__dirname, '../../migrations.json'));
24function runExternalSchematic(collectionName, schematicName, options, tree) {
25 return testRunner
26 .runExternalSchematicAsync(collectionName, schematicName, options, tree)
27 .toPromise();
28}
29exports.runExternalSchematic = runExternalSchematic;
30function runSchematic(schematicName, options, tree) {
31 return testRunner.runSchematicAsync(schematicName, options, tree).toPromise();
32}
33exports.runSchematic = runSchematic;
34function callRule(rule, tree) {
35 return testRunner.callRule(rule, tree).toPromise();
36}
37exports.callRule = callRule;
38function runMigration(migrationName, options, tree) {
39 return migrationTestRunner
40 .runSchematicAsync(migrationName, options, tree)
41 .toPromise();
42}
43exports.runMigration = runMigration;
44function createLibWithTests(tree, libName, testBuilder, testSetupFile) {
45 const { fileName } = (0, devkit_1.names)(libName);
46 tree.create(`/libs/${fileName}/src/index.ts`, `\n`);
47 return callRule((0, workspace_1.updateWorkspace)((workspace) => {
48 workspace.projects.add({
49 name: fileName,
50 root: `libs/${fileName}`,
51 projectType: 'library',
52 sourceRoot: `libs/${fileName}/src`,
53 architect: {
54 test: {
55 builder: testBuilder,
56 options: {
57 setupFile: `libs/${fileName}/src/${testSetupFile}`,
58 },
59 },
60 },
61 });
62 }), tree);
63}
64exports.createLibWithTests = createLibWithTests;
65function getTestArchitect() {
66 return tslib_1.__awaiter(this, void 0, void 0, function* () {
67 const architectHost = new testing_2.TestingArchitectHost('/root', '/root');
68 const registry = new core_1.schema.CoreSchemaRegistry();
69 registry.addPostTransform(core_1.schema.transforms.addUndefinedDefaults);
70 const architect = new architect_1.Architect(architectHost, registry);
71 yield architectHost.addBuilderFromPackage((0, path_1.join)(__dirname, '../..'));
72 return [architect, architectHost];
73 });
74}
75exports.getTestArchitect = getTestArchitect;
76function getMockContext() {
77 return tslib_1.__awaiter(this, void 0, void 0, function* () {
78 const [architect, architectHost] = yield getTestArchitect();
79 const context = new testing_utils_1.MockBuilderContext(architect, architectHost);
80 yield context.addBuilderFromPackage((0, path_1.join)(__dirname, '../..'));
81 return context;
82 });
83}
84exports.getMockContext = getMockContext;
85//# sourceMappingURL=testing.js.map
\No newline at end of file