@thisisagile/easy-test
Version:
Straightforward library for testing microservices built with @thisisagile/easy
52 lines • 3.09 kB
JavaScript
;
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