import chai from "chai"; import sinon from "ts-sinon"; import sinonChai from "sinon-chai"; chai.use(sinonChai) const expect = chai.expect; import { withFile } from "tmp-promise" import { writeFileSync } from "fs"; import { Router } from "../src/index"; const path = require("path"); const well_build_routing_file: Router.Config = require(path.join(__dirname, "rsrc/wellBuildedRoutingFile.json")); describe("testing the routing part", function () { describe("testing the building part", function () { it("it will test the constructor with a well format config file", function () { //given const fun = () => { const r = new Router(path.join(__dirname, "rsrc/wellBuildedRoutingFile.json")); }; const spy = sinon.spy(fun); // when try { spy(); } catch (error) { // nothing it's a test } // assert expect(spy).to.not.thrown(); }) it("it will test a bad formed file", async function () { await withFile(async (file) => { //given writeFileSync(file.path, JSON.stringify({...well_build_routing_file, ...{events: 12}})); const fun = () => { const r = new Router(file.path); console.log(r.config); }; const spy = sinon.spy(fun); // when try { spy(); } catch (error) { // nothing it's a test } // assert expect(spy).to.not.thrown(); }, {postfix: ".json"}); }) }) });