UNPKG

inversify-express-utils

Version:

Some utilities for the development of express applications with Inversify

66 lines 3.26 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); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable @typescript-eslint/no-unused-vars */ const globals_1 = require("@jest/globals"); const inversify_1 = require("inversify"); const supertest_1 = __importDefault(require("supertest")); const decorators_1 = require("../decorators"); const server_1 = require("../server"); const utils_1 = require("../utils"); (0, globals_1.describe)('HttpContex', () => { (0, globals_1.beforeEach)(() => { (0, utils_1.cleanUpMetadata)(); }); (0, globals_1.it)('Should be able to httpContext manually with the @injectHttpContext decorator', async () => { let TestController = class TestController { _httpContext; _someDependency; async getTest() { const headerVal = this._httpContext.request.headers['x-custom']; const { name } = this._someDependency; const isAuthenticated = await this._httpContext.user.isAuthenticated(); (0, globals_1.expect)(isAuthenticated).toBe(false); return `${headerVal} & ${name}`; } }; __decorate([ decorators_1.injectHttpContext, __metadata("design:type", Object) ], TestController.prototype, "_httpContext", void 0); __decorate([ (0, inversify_1.inject)('SomeDependency'), __metadata("design:type", Object) ], TestController.prototype, "_someDependency", void 0); __decorate([ (0, decorators_1.httpGet)('/'), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise) ], TestController.prototype, "getTest", null); TestController = __decorate([ (0, decorators_1.controller)('/') ], TestController); const container = new inversify_1.Container(); container .bind('SomeDependency') .toConstantValue({ name: 'SomeDependency!' }); const server = new server_1.InversifyExpressServer(container); await (0, supertest_1.default)(server.build()) .get('/') .set('x-custom', 'test-header!') .expect(200, 'test-header! & SomeDependency!'); }); }); //# sourceMappingURL=http_context.test.js.map