UNPKG

nralcm

Version:

This is a framework based on NodeJs to manage rest api request lifecycle

64 lines (63 loc) 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("mocha"); const chai_1 = require("chai"); const sinon = require("sinon"); const __1 = require(".."); const product_controller_1 = require("../../controllers/product.controller"); const exceptions_1 = require("../../exceptions"); describe("ControllerMapper", () => { it("should map with specified route and must return route", () => { let request = { url: "api/product" }; let response = {}; let httpContext = new __1.HttpContext(request, response); let routes = [ { path: "product", controller: product_controller_1.ProductController } ]; let restApiConfiguration = { routes: routes }; let route = __1.ControllerMapper(httpContext, restApiConfiguration); chai_1.expect(route.path).to.equal("product"); }); it("should throw NotFoundException", () => { let request = { url: "api/product1" }; let response = { type: sinon.stub(), status: sinon.stub(), send: sinon.stub() }; response.type.callsFake(() => { return response; }); response.status.callsFake((status) => { response.statusCode = status; return response; }); response.send.callsFake(() => { return response; }); let httpContext = new __1.HttpContext(request, response); let routes = [ { path: "product", controller: product_controller_1.ProductController } ]; let httpResponseHandler = { sendResponse: sinon.stub() }; let restApiConfiguration = { routes: routes, HttpResponseHandler: httpResponseHandler }; try { let route = __1.ControllerMapper(httpContext, restApiConfiguration); chai_1.expect(route.path).to.equal("product"); } catch (e) { chai_1.expect(e).to.instanceof(exceptions_1.NotFoundException); } }); });