hapticlink / server /test /socket /router.spec.ts
avallef's picture
Added unit/mock testing
a18eb38
import { readdirSync } from "fs";
import { HapticLinkServer } from "../../src/socket/hapticLinkServer"
import { registerRoutes } from "../../src/socket/routes";
import { expect } from 'chai';
import { resolve } from "path";
describe("Router", () => {
let server: HapticLinkServer = new HapticLinkServer();
beforeEach(() => {
server = new HapticLinkServer();
})
it("should add routes", (done) => {
registerRoutes(server);
const files = readdirSync(resolve("src/socket/routes"));
const routes: string[] = [];
files.forEach(file => {
if (file.startsWith("_")) return;
routes.push(file.replace(".ts", ""));
});
const registeredRoutes = Object.keys(server.routes);
const missingRoutes: string[] = []
routes.forEach(route => {
if (!registeredRoutes.includes(route)) {
missingRoutes.push(route)
}
})
expect(missingRoutes.length).to.equal(0, "routes not registered: " + missingRoutes);
done();
})
})