ng-apexcharts
Version:
An angular implementation of ApexCharts
90 lines (89 loc) • 4.95 kB
JavaScript
;
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",
]));
}));
});