UNPKG

inversify-express-utils

Version:

Some utilities for the development of express applications with Inversify

109 lines 6.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const globals_1 = require("@jest/globals"); const http_status_codes_1 = require("http-status-codes"); const httpResponseMessage_1 = require("../httpResponseMessage"); const results_1 = require("../results"); (0, globals_1.describe)('ActionResults', () => { (0, globals_1.describe)('OkResult', () => { (0, globals_1.it)('should respond with an HTTP 200', async () => { const actionResult = new results_1.OkResult(); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.OK); }); }); (0, globals_1.describe)('OkNegotiatedContentResult', () => { (0, globals_1.it)('should respond with an HTTP 200 with content', async () => { const content = { foo: 'bar', }; const actionResult = new results_1.OkNegotiatedContentResult(content); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.OK); (0, globals_1.expect)(await responseMessage.content.readAsync()).toStrictEqual(content); }); }); (0, globals_1.describe)('BadRequestResult', () => { (0, globals_1.it)('should respond with an HTTP 400', async () => { const actionResult = new results_1.BadRequestResult(); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.BAD_REQUEST); }); }); (0, globals_1.describe)('BadRequestErrorMessageResult', () => { (0, globals_1.it)('should respond with an HTTP 400 and an error message', async () => { const message = 'uh oh!'; const actionResult = new results_1.BadRequestErrorMessageResult(message); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.BAD_REQUEST); (0, globals_1.expect)(await responseMessage.content.readAsync()).toBe(message); }); }); (0, globals_1.describe)('ConflictResult', () => { (0, globals_1.it)('should respond with an HTTP 409', async () => { const actionResult = new results_1.ConflictResult(); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.CONFLICT); }); }); (0, globals_1.describe)('CreatedNegotiatedContentResult', () => { (0, globals_1.it)('should respond with an HTTP 302 and appropriate headers', async () => { const uri = 'http://foo/bar'; const content = { foo: 'bar', }; const actionResult = new results_1.CreatedNegotiatedContentResult(uri, content); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.CREATED); (0, globals_1.expect)(await responseMessage.content.readAsync()).toBe(JSON.stringify(content)); (0, globals_1.expect)(responseMessage.headers['location']).toBe(uri); }); }); (0, globals_1.describe)('ExceptionResult', () => { (0, globals_1.it)('should respond with an HTTP 500 and the error message', async () => { const error = new Error('foo'); const actionResult = new results_1.ExceptionResult(error); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.INTERNAL_SERVER_ERROR); (0, globals_1.expect)(await responseMessage.content.readAsync()).toBe('Error: foo'); }); }); (0, globals_1.describe)('InternalServerErrorResult', () => { (0, globals_1.it)('should respond with an HTTP 500', async () => { const actionResult = new results_1.InternalServerErrorResult(); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.INTERNAL_SERVER_ERROR); }); }); (0, globals_1.describe)('NotFoundResult', () => { (0, globals_1.it)('should respond with an HTTP 404', async () => { const actionResult = new results_1.NotFoundResult(); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.NOT_FOUND); }); }); (0, globals_1.describe)('RedirectResult', () => { (0, globals_1.it)('should respond with an HTTP 302', async () => { const uri = 'http://foo/bar'; const actionResult = new results_1.RedirectResult(uri); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(http_status_codes_1.StatusCodes.MOVED_TEMPORARILY); (0, globals_1.expect)(responseMessage.headers['location']).toBe(uri); }); }); (0, globals_1.describe)('ResponseMessageResult', () => { (0, globals_1.it)('should respond with an HTTP 302', async () => { const responseMessage = new httpResponseMessage_1.HttpResponseMessage(200); const actionResult = new results_1.ResponseMessageResult(responseMessage); (0, globals_1.expect)(await actionResult.executeAsync()).toBe(responseMessage); }); }); (0, globals_1.describe)('StatusCodeResult', () => { (0, globals_1.it)('should respond with the specified status code', async () => { const actionResult = new results_1.StatusCodeResult(417); const responseMessage = await actionResult.executeAsync(); (0, globals_1.expect)(responseMessage.statusCode).toBe(417); }); }); }); //# sourceMappingURL=action_result.test.js.map