UNPKG

@zargu/couchdb-designer

Version:

Create and testing couchdb design document form directory structure.

129 lines (107 loc) 3.08 kB
"use strict"; var _compareAny = _interopRequireDefault(require("../util/compareAny")); var _testEnvironment = require("../../build/testing/testEnvironment"); var _filter = _interopRequireDefault(require("./changes/filter")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const emitted = contextId => { let buildIns = (0, _testEnvironment.getTestContext)(contextId).buildIns; let rows = buildIns.contextedEmit.mock.calls.map(params => ({ id: params[0]._id, key: params[1], value: params[2] })); let count = buildIns.contextedEmit.mock.calls.length; if (rows.length > 1) { rows.sort((a, b) => (0, _compareAny.default)(a.key, b.key)); } buildIns.contextedEmit.mockClear(); return { total_rows: count, offset: 0, rows: rows }; }; const logged = contextId => { let buildIns = (0, _testEnvironment.getTestContext)(contextId).buildIns; let log = ""; buildIns.environmentLog.mock.calls.forEach(params => { log += `[info] Log :: ${params[0]}\n`; }); buildIns.environmentLog.mockClear(); return log; }; const getRow = contextId => { return (0, _testEnvironment.getTestContext)(contextId).buildIns.contextedGetRow; }; const provides = contextId => { return (0, _testEnvironment.getTestContext)(contextId).buildIns.contextedProvides; }; const registerType = contextId => { return (0, _testEnvironment.getTestContext)(contextId).buildIns.contextedRegisterType; }; const start = contextId => { return (0, _testEnvironment.getTestContext)(contextId).buildIns.contextedStart; }; const send = contextId => { return (0, _testEnvironment.getTestContext)(contextId).buildIns.contextedSend; }; const index = contextId => { return (0, _testEnvironment.getTestContext)(contextId).buildIns.contextedIndex; }; const server = contextId => { if ((0, _testEnvironment.getTestContext)(contextId) && (0, _testEnvironment.getTestContext)(contextId).server) { return (0, _testEnvironment.getTestContext)(contextId).server; } return false; }; const _design = contextId => { return (0, _testEnvironment.getTestContext)(contextId).server; }; const database = (contextId, id) => { if (id) { let { database } = (0, _testEnvironment.getTestContext)(contextId); let result = { error: "not_found", reason: "missing" }; for (let doc of database.data) { if (doc._id === id) { result = { ...doc }; } } return result; } else { return [...(0, _testEnvironment.getTestContext)(contextId).database.data]; } }; const _changes = (contextId, request) => { if (request) { return (0, _filter.default)(contextId, request); } else { let { changes } = (0, _testEnvironment.getTestContext)(contextId); return { results: [...changes], last_seq: changes[changes.length - 1].seq, pending: 0 }; } }; module.exports = { emitted, logged, getRow, provides, registerType, start, send, index, server, _design, database, _changes };