1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.getMockContext = exports.getTestArchitect = exports.createLibWithTests = exports.runMigration = exports.callRule = exports.runSchematic = exports.runExternalSchematic = void 0;
|
4 | const tslib_1 = require("tslib");
|
5 | const path_1 = require("path");
|
6 | const testing_1 = require("@angular-devkit/schematics/testing");
|
7 | const workspace_1 = require("./workspace");
|
8 | const testing_2 = require("@angular-devkit/architect/testing");
|
9 | const core_1 = require("@angular-devkit/core");
|
10 | const architect_1 = require("@angular-devkit/architect");
|
11 | const testing_utils_1 = require("./testing-utils");
|
12 | const devkit_1 = require("@nrwl/devkit");
|
13 | const testRunner = new testing_1.SchematicTestRunner('@nrwl/workspace', (0, path_1.join)(__dirname, '../../generators.json'));
|
14 | testRunner.registerCollection('@nrwl/jest', (0, path_1.join)(__dirname, '../../../jest/generators.json'));
|
15 | testRunner.registerCollection('@nrwl/cypress', (0, path_1.join)(__dirname, '../../../cypress/generators.json'));
|
16 | testRunner.registerCollection('@nrwl/express', (0, path_1.join)(__dirname, '../../../express/generators.json'));
|
17 | testRunner.registerCollection('@nrwl/react', (0, path_1.join)(__dirname, '../../../react/generators.json'));
|
18 | testRunner.registerCollection('@nrwl/angular', (0, path_1.join)(__dirname, '../../../angular/generators.json'));
|
19 | testRunner.registerCollection('@nrwl/next', (0, path_1.join)(__dirname, '../../../next/generators.json'));
|
20 | testRunner.registerCollection('@nrwl/node', (0, path_1.join)(__dirname, '../../../node/generators.json'));
|
21 | testRunner.registerCollection('@nrwl/nest', (0, path_1.join)(__dirname, '../../../nest/generators.json'));
|
22 | testRunner.registerCollection('@nrwl/web', (0, path_1.join)(__dirname, '../../../web/generators.json'));
|
23 | const migrationTestRunner = new testing_1.SchematicTestRunner('@nrwl/workspace/migrations', (0, path_1.join)(__dirname, '../../migrations.json'));
|
24 | function runExternalSchematic(collectionName, schematicName, options, tree) {
|
25 | return testRunner
|
26 | .runExternalSchematicAsync(collectionName, schematicName, options, tree)
|
27 | .toPromise();
|
28 | }
|
29 | exports.runExternalSchematic = runExternalSchematic;
|
30 | function runSchematic(schematicName, options, tree) {
|
31 | return testRunner.runSchematicAsync(schematicName, options, tree).toPromise();
|
32 | }
|
33 | exports.runSchematic = runSchematic;
|
34 | function callRule(rule, tree) {
|
35 | return testRunner.callRule(rule, tree).toPromise();
|
36 | }
|
37 | exports.callRule = callRule;
|
38 | function runMigration(migrationName, options, tree) {
|
39 | return migrationTestRunner
|
40 | .runSchematicAsync(migrationName, options, tree)
|
41 | .toPromise();
|
42 | }
|
43 | exports.runMigration = runMigration;
|
44 | function 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 | }
|
64 | exports.createLibWithTests = createLibWithTests;
|
65 | function 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 | }
|
75 | exports.getTestArchitect = getTestArchitect;
|
76 | function 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 | }
|
84 | exports.getMockContext = getMockContext;
|
85 |
|
\ | No newline at end of file |