UNPKG

nralcm

Version:

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

63 lines (62 loc) 2.5 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); require("mocha"); const chai_1 = require("chai"); // import * as sinon from "sinon"; const _1 = require("."); const __1 = require(".."); const decorators_1 = require("../../decorators"); describe("DependencyInjection", () => { let request = {}; let response = {}; let httpContext = new __1.HttpContext(request, response); describe("inject", () => { it("should inject dependency of DemoRepository in DemoController", () => { httpContext.controller = DemoController; let obj = DemoController; httpContext.controllerObject = new obj(); // let httpResponseHandler: Partial<IHttpResponseHandler> = { // sendResponse: sinon.stub() // }; let httpResponse = {}; let di = new _1.DependencyInjection(httpContext, httpResponse); di.inject(); let result = httpContext.controllerObject.get(); chai_1.expect(result.id).to.equal(1); }); }); }); let DemoRepository = class DemoRepository { constructor() { } getData() { return { id: 1, name: "demo" }; } }; DemoRepository = __decorate([ decorators_1.Repository(), __metadata("design:paramtypes", []) ], DemoRepository); exports.DemoRepository = DemoRepository; let DemoController = class DemoController extends __1.BaseController { constructor(_repo) { super(); this._repo = _repo; } get() { return this._repo.getData(); } }; DemoController = __decorate([ decorators_1.Controller(), __metadata("design:paramtypes", [DemoRepository]) ], DemoController); exports.DemoController = DemoController;