UNPKG

@n1k1t/mock-server

Version:

Powerful util to setup mocks over HTTP APIs

49 lines 1.89 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const deepmerge_1 = __importDefault(require("deepmerge")); const utils_1 = require("../utils"); const utils_2 = require("../utils"); const errors_1 = require("../errors"); const models_1 = require("../models"); const expectations_1 = require("../../expectations"); const utils_3 = require("../../utils"); const config_1 = __importDefault(require("../../config")); exports.default = models_1.ClientMethod .build() .register('remote', (instance) => async (body) => { const response = await instance .request({ data: { id: body.id, body: (0, utils_1.prepareExpectationBodyToRequest)(body.set), }, ...(0, utils_3.cast)({ url: `${config_1.default.get('routes').internal.root}/expectations`, method: 'PUT', }), }) .catch(utils_2.handleRequestError); return response.data.data; }) .register('onsite', (provider) => async (body) => { const found = provider.storages.expectations.get(body.id); if (!found) { return null; } const updated = expectations_1.Expectation.build(Object.assign((0, deepmerge_1.default)(found.configuration, body.set ?? {}, { arrayMerge: (target, source) => source }), { name: found.name, meta: found.meta, id: found.id, })); const errors = updated.validate(); if (errors.length) { throw new errors_1.ValidationError({}, errors); } provider.storages.expectations.set(body.id, updated); provider.server?.exchanges.io.publish('expectation:updated', updated.toPlain()); return updated.toPlain(); }); //# sourceMappingURL=expectations.update.method.js.map