UNPKG

@thisisagile/easy-test

Version:

Straightforward library for testing microservices built with @thisisagile/easy

52 lines 3.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toBeOkWithItems = exports.toBeBadGateway = exports.toBeInternalServerError = exports.toBeConflict = exports.toBeNotFound = exports.toBeForbidden = exports.toBeUnauthorized = exports.toBeBadRequest = exports.toHaveNoContent = exports.toBeCreated = exports.toBeOk = exports.toHaveStatus = void 0; const Match_1 = require("./Match"); const toHaveStatus = (res, code) => (0, Match_1.match)(res) .undefined(r => r, 'Response is unknown.') .undefined(r => r?.status?.id, () => 'Response does not have a status code') .not(r => r.status.id === code, r => `Response does not have code '${code}', but has code '${r.status.id}' instead.`) .else(`Response does have status code '${code}'.`); exports.toHaveStatus = toHaveStatus; const toBeOk = (res) => (0, exports.toHaveStatus)(res, 200); exports.toBeOk = toBeOk; const toBeCreated = (res) => (0, exports.toHaveStatus)(res, 201); exports.toBeCreated = toBeCreated; const toHaveNoContent = (res) => (0, exports.toHaveStatus)(res, 204); exports.toHaveNoContent = toHaveNoContent; const toBeBadRequest = (res) => (0, exports.toHaveStatus)(res, 400); exports.toBeBadRequest = toBeBadRequest; const toBeUnauthorized = (res) => (0, exports.toHaveStatus)(res, 401); exports.toBeUnauthorized = toBeUnauthorized; const toBeForbidden = (res) => (0, exports.toHaveStatus)(res, 403); exports.toBeForbidden = toBeForbidden; const toBeNotFound = (res) => (0, exports.toHaveStatus)(res, 404); exports.toBeNotFound = toBeNotFound; const toBeConflict = (res) => (0, exports.toHaveStatus)(res, 409); exports.toBeConflict = toBeConflict; const toBeInternalServerError = (res) => (0, exports.toHaveStatus)(res, 500); exports.toBeInternalServerError = toBeInternalServerError; const toBeBadGateway = (res) => (0, exports.toHaveStatus)(res, 502); exports.toBeBadGateway = toBeBadGateway; const toBeOkWithItems = (res, length) => (0, Match_1.match)(res) .undefined(r => r.status?.id, 'Response did not have a status') .not(r => r.status.id === 200, r => `Response did not have status '200'. It had status '${r.status.id}' instead.`) .undefined(r => r?.body?.data?.items, `Response did not have any items.`) .not(r => (r?.body?.data?.itemCount ?? 0) >= length, r => `Response did not have at least ${length} items. It only had ${r?.body?.data?.itemCount ?? 0} items.`) .else(`Response had status 200 and at least ${length} items`); exports.toBeOkWithItems = toBeOkWithItems; expect.extend({ toBeOk: exports.toBeOk, toBeOkWithItems: exports.toBeOkWithItems, toBeCreated: exports.toBeCreated, toHaveNoContent: exports.toHaveNoContent, toBeNotFound: exports.toBeNotFound, toBeBadRequest: exports.toBeBadRequest, toBeUnauthorized: exports.toBeUnauthorized, toBeForbidden: exports.toBeForbidden, toBeConflict: exports.toBeConflict, toBeInternalServerError: exports.toBeInternalServerError, toHaveStatus: exports.toHaveStatus, toBeBadGateway: exports.toBeBadGateway, }); //# sourceMappingURL=HttpMatchers.js.map