import { json, normalize } from "@angular-devkit/core"; import { expect } from "chai"; import { SchematicTestRunner, UnitTestTree, } from "@angular-devkit/schematics/testing"; import * as path from "path"; import { findNodes, getSourceNodes, insertAfterLastOccurrence, } from "../helpers/ast-utils"; import * as ts from "typescript"; import { JSONFile } from "../helpers/json-file"; import { Console } from "console"; const collectionPath = path.join(__dirname, "../../collection.json"); const workspaceOptions = { name: "workspace", newProjectRoot: "projects", version: "6.0.0", }; const appOptions: any = { name: "schematest", }; let appTree: UnitTestTree; let tree: UnitTestTree; const schematicRunner = new SchematicTestRunner("ng-add", collectionPath); describe("Initilization", () => { beforeEach(async () => { appTree = await schematicRunner .runExternalSchematicAsync( "@schematics/angular", "workspace", workspaceOptions ) .toPromise(); appTree = await schematicRunner .runExternalSchematicAsync( "@schematics/angular", "application", appOptions, appTree ) .toPromise(); tree = await schematicRunner .runSchematicAsync( "ng-add", { project: "default", test: true, demoToInstall: false, addOns: ["subgraph"], dappDemo: "minimalContract", }, appTree ) .toPromise(); }); it("Add On subgraph should create subgraph folder", async () => { expect( tree.exists( normalize( "/add-ons/subgraph/schema.graphql" ) ) ).to.be.true; }); it("It Add subgraph scripts", async () => { // const packageJson = tree.read("package.json")!.toString("utf-8"); const packageJson = new JSONFile(tree,"package.json") expect(packageJson.get(['scripts',"build-graph"])).to.be.equal('cd subgraph && graph build') }); it("It Add subgraph dependencies", async () => { // const packageJson = tree.read("package.json")!.toString("utf-8"); const packageJson = new JSONFile(tree,"package.json") expect(packageJson.get(['devDependencies', "@graphprotocol/graph-cli"])).to.be.equal("^0.22.1") }); });