UNPKG

ng-apexcharts

Version:
90 lines (89 loc) 4.95 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); require("jasmine"); const testing_1 = require("@angular-devkit/schematics/testing"); const schema_1 = require("@schematics/angular/application/schema"); const path = require("path"); const version_1 = require("../version"); describe("ng add ng-apexcharts", () => { const collectionPath = path.join(__dirname, "../collection.json"); const runner = new testing_1.SchematicTestRunner("schematics", collectionPath); const workspaceOptions = { name: "workspace", newProjectRoot: "projects", version: "1.0.0", }; const appOptions = { name: "ng-apexcharts-app", inlineStyle: false, inlineTemplate: false, routing: false, style: schema_1.Style.Scss, skipTests: false, skipPackageJson: false, standalone: false, }; const appStandaloneOptions = { name: "ng-apexcharts-standalone-app", inlineStyle: false, inlineTemplate: false, routing: false, style: schema_1.Style.Scss, skipTests: false, skipPackageJson: false, standalone: true, }; let appTree; beforeAll(() => __awaiter(void 0, void 0, void 0, function* () { appTree = yield runner.runExternalSchematic("@schematics/angular", "workspace", workspaceOptions); appTree = yield runner.runExternalSchematic("@schematics/angular", "application", appOptions, appTree); appTree = yield runner.runExternalSchematic("@schematics/angular", "application", appStandaloneOptions, appTree); })); it("should add apexcharts to package.json", () => __awaiter(void 0, void 0, void 0, function* () { var _a; const options = { project: "ng-apexcharts-app" }; const tree = yield runner.runSchematic("ng-add", options, appTree); let packageJson = tree.readJson("package.json"); if (typeof packageJson === "string") { packageJson = JSON.parse(packageJson); } expect((_a = packageJson.dependencies) === null || _a === void 0 ? void 0 : _a.apexcharts).toBe(version_1.apexchartsVersion); })); it("add NgApexchartsModule in angular no standalone project", () => __awaiter(void 0, void 0, void 0, function* () { const options = { project: "ng-apexcharts-app" }; const tree = yield runner.runSchematic("ng-add-setup-project", options, appTree); const appmodule = tree.readContent("/projects/ng-apexcharts-app/src/app/app-module.ts"); expect(appmodule).toMatch(/import.*NgApexchartsModule.*from 'ng-apexcharts'/); expect(appmodule).toMatch(/imports:\s*\[[^\]]+?,\r?\n\s+NgApexchartsModule\r?\n/m); const angularJson = JSON.parse(tree.readContent("angular.json")); expect(angularJson.projects[options.project].architect.build.options.scripts).toEqual(jasmine.arrayContaining([ "/node_modules/apexcharts/dist/apexcharts.min.js", ])); expect(angularJson.projects[options.project].architect.test.options.scripts).toEqual(jasmine.arrayContaining([ "/node_modules/apexcharts/dist/apexcharts.min.js", ])); })); it("add NgApexchartsModule in angular standalone project", () => __awaiter(void 0, void 0, void 0, function* () { const options = { project: "ng-apexcharts-standalone-app" }; const tree = yield runner.runSchematic("ng-add-setup-project", options, appTree); const appconfig = tree.readContent("projects/ng-apexcharts-standalone-app/src/app/app.config.ts"); expect(appconfig).toContain("import { NgApexchartsModule } from 'ng-apexcharts'"); expect(appconfig).toMatch(/providers:\s*\[[\s\S]*importProvidersFrom\(NgApexchartsModule\)[\s\S]*\]/); const angularJson = JSON.parse(tree.readContent("angular.json")); expect(angularJson.projects[options.project].architect.build.options.scripts).toEqual(jasmine.arrayContaining([ "/node_modules/apexcharts/dist/apexcharts.min.js", ])); expect(angularJson.projects[options.project].architect.test.options.scripts).toEqual(jasmine.arrayContaining([ "/node_modules/apexcharts/dist/apexcharts.min.js", ])); })); });