inversify-express-utils
Version:
Some utilities for the development of express applications with Inversify
90 lines • 4.36 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
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 __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const globals_1 = require("@jest/globals");
const bodyParser = __importStar(require("body-parser"));
const inversify_1 = require("inversify");
const supertest_1 = __importDefault(require("supertest"));
const base_http_controller_1 = require("../../base_http_controller");
const decorators_1 = require("../../decorators");
const server_1 = require("../../server");
const utils_1 = require("../../utils");
(0, globals_1.describe)('Issue 420', () => {
(0, globals_1.beforeEach)(() => {
(0, utils_1.cleanUpMetadata)();
});
(0, globals_1.it)('should work with no url params', async () => {
let TestController =
// eslint-disable-next-line @typescript-eslint/no-unused-vars
class TestController extends base_http_controller_1.BaseHttpController {
async updateTest(req) {
return this.ok({ message: req.body.test });
}
};
__decorate([
(0, decorators_1.httpPut)('/test'),
__param(0, (0, decorators_1.request)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", Promise)
], TestController.prototype, "updateTest", null);
TestController = __decorate([
(0, decorators_1.controller)('/controller')
// eslint-disable-next-line @typescript-eslint/no-unused-vars
], TestController);
const container = new inversify_1.Container();
const server = new server_1.InversifyExpressServer(container);
server.setConfig((app) => {
app.use(bodyParser.urlencoded({
extended: true,
}));
app.use(bodyParser.json());
});
const agent = (0, supertest_1.default)(server.build());
const response = await agent
.put('/controller/test')
.send({ test: 'test' })
.set('Content-Type', 'application/json')
.set('Accept', 'application/json');
(0, globals_1.expect)(response.status).toBe(200);
(0, globals_1.expect)(response.body).toStrictEqual({ message: 'test' });
});
});
//# sourceMappingURL=issue_420.test.js.map