UNPKG

nralcm

Version:

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

69 lines (68 loc) 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("mocha"); const chai_1 = require("chai"); const sinon = require("sinon"); const __1 = require(".."); const common_1 = require("../../common"); describe("HandlerDispatcher", () => { describe("processHandler", () => { it("should process registered handler and should set status code", () => { let request = { url: "/api/product", method: common_1.HttpMethod.GET }; let response = {}; let handler = { processRequest: sinon.stub() }; handler.processRequest.callsFake((req) => { req.statusCode = 201; }); let httpConfiguration = { getHandler: sinon.stub() }; httpConfiguration.getHandler.callsFake(() => { return ["/api/*", handler]; }); __1.HandlerDispatcher.processHandler(request, response, httpConfiguration); chai_1.expect(request.statusCode).to.equal(201); }); it("should process registered handler and should return BadRequest", () => { let request = { url: "/product", method: common_1.HttpMethod.GET }; let response = { type: sinon.stub(), status: sinon.stub(), json: sinon.stub() }; response.type.callsFake(() => { return response; }); response.status.callsFake((status) => { response.statusCode = status; return response; }); response.json.callsFake(() => { return response; }); let handler = { processRequest: sinon.stub() }; handler.processRequest.callsFake((req) => { req.statusCode = 201; }); let httpConfiguration = { getHandler: sinon.stub() }; httpConfiguration.getHandler.callsFake(() => { return undefined; }); let httpContext = new __1.HttpContext(request, response); __1.HandlerDispatcher.processHandler(request, response, httpConfiguration, httpContext); chai_1.expect(response.statusCode).to.equal(400); }); }); });