aquameta-datum
Version:
Service layer for the Aquameta database API
53 lines (48 loc) • 6.62 kB
JavaScript
;
var _ramda = require("ramda");
var _tape = _interopRequireDefault(require("tape"));
var _chainable = require("../../database/chainable.js");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const rel = (0, _chainable.relation)('widget.widget');
(0, _tape.default)('#order - adds proper object to args', t => {
const column = 'name';
const direction = 'asc';
const query = (0, _chainable.order)(direction, column)(rel);
t.true(query.args.order instanceof Array);
t.is(query.args.order[0].column, column);
t.is(query.args.order[0].direction, direction);
t.end();
});
(0, _tape.default)('#order - asc/desc add value', t => {
const ascColumn = 'name';
const descColumn = 'updated_at';
const query = (0, _ramda.compose)((0, _chainable.orderByAsc)(ascColumn), (0, _chainable.orderByDesc)(descColumn))(rel);
t.true(query.args.order instanceof Array);
t.deepEqual(query.args.order, [{
column: descColumn,
direction: 'desc'
}, {
column: ascColumn,
direction: 'asc'
}]);
t.end();
});
(0, _tape.default)('#exclude - adds array values', t => {
const columns = ['id', 'name'];
const query = (0, _ramda.compose)((0, _chainable.exclude)(columns[1]), (0, _chainable.exclude)(columns[0]))(rel);
t.true(query.args.exclude instanceof Array);
t.deepEqual(query.args.exclude, [columns]);
t.end();
});
(0, _tape.default)('#limit - adds value to args', t => {
const value = '5';
const query = (0, _chainable.limit)(value)(rel);
t.is(query.args.limit, value);
t.end();
});
(0, _tape.default)('#limit - throws on invalid input', t => {
const value = null;
t.throws(() => (0, _chainable.limit)(value)(rel), TypeError);
t.end();
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNoYWluYWJsZS5qcyJdLCJuYW1lcyI6WyJyZWwiLCJ0IiwiY29sdW1uIiwiZGlyZWN0aW9uIiwicXVlcnkiLCJ0cnVlIiwiYXJncyIsIm9yZGVyIiwiQXJyYXkiLCJpcyIsImVuZCIsImFzY0NvbHVtbiIsImRlc2NDb2x1bW4iLCJkZWVwRXF1YWwiLCJjb2x1bW5zIiwiZXhjbHVkZSIsInZhbHVlIiwibGltaXQiLCJ0aHJvd3MiLCJUeXBlRXJyb3IiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7QUFTQSxNQUFNQSxHQUFHLEdBQUcseUJBQVMsZUFBVCxDQUFaO0FBRUEsbUJBQUsscUNBQUwsRUFBNENDLENBQUMsSUFBSTtBQUMvQyxRQUFNQyxNQUFNLEdBQUcsTUFBZjtBQUNBLFFBQU1DLFNBQVMsR0FBRyxLQUFsQjtBQUVBLFFBQU1DLEtBQUssR0FBRyxzQkFBTUQsU0FBTixFQUFpQkQsTUFBakIsRUFBeUJGLEdBQXpCLENBQWQ7QUFFQUMsRUFBQUEsQ0FBQyxDQUFDSSxJQUFGLENBQU9ELEtBQUssQ0FBQ0UsSUFBTixDQUFXQyxLQUFYLFlBQTRCQyxLQUFuQztBQUNBUCxFQUFBQSxDQUFDLENBQUNRLEVBQUYsQ0FBS0wsS0FBSyxDQUFDRSxJQUFOLENBQVdDLEtBQVgsQ0FBaUIsQ0FBakIsRUFBb0JMLE1BQXpCLEVBQWlDQSxNQUFqQztBQUNBRCxFQUFBQSxDQUFDLENBQUNRLEVBQUYsQ0FBS0wsS0FBSyxDQUFDRSxJQUFOLENBQVdDLEtBQVgsQ0FBaUIsQ0FBakIsRUFBb0JKLFNBQXpCLEVBQW9DQSxTQUFwQztBQUNBRixFQUFBQSxDQUFDLENBQUNTLEdBQUY7QUFDRCxDQVZEO0FBWUEsbUJBQUssNkJBQUwsRUFBb0NULENBQUMsSUFBSTtBQUN2QyxRQUFNVSxTQUFTLEdBQUcsTUFBbEI7QUFDQSxRQUFNQyxVQUFVLEdBQUcsWUFBbkI7QUFFQSxRQUFNUixLQUFLLEdBQUcsb0JBQ1osMkJBQVdPLFNBQVgsQ0FEWSxFQUVaLDRCQUFZQyxVQUFaLENBRlksRUFHWlosR0FIWSxDQUFkO0FBS0FDLEVBQUFBLENBQUMsQ0FBQ0ksSUFBRixDQUFPRCxLQUFLLENBQUNFLElBQU4sQ0FBV0MsS0FBWCxZQUE0QkMsS0FBbkM7QUFDQVAsRUFBQUEsQ0FBQyxDQUFDWSxTQUFGLENBQVlULEtBQUssQ0FBQ0UsSUFBTixDQUFXQyxLQUF2QixFQUE4QixDQUM1QjtBQUFDTCxJQUFBQSxNQUFNLEVBQUVVLFVBQVQ7QUFBcUJULElBQUFBLFNBQVMsRUFBRTtBQUFoQyxHQUQ0QixFQUU1QjtBQUFDRCxJQUFBQSxNQUFNLEVBQUVTLFNBQVQ7QUFBb0JSLElBQUFBLFNBQVMsRUFBRTtBQUEvQixHQUY0QixDQUE5QjtBQUlBRixFQUFBQSxDQUFDLENBQUNTLEdBQUY7QUFDRCxDQWZEO0FBaUJBLG1CQUFLLDhCQUFMLEVBQXFDVCxDQUFDLElBQUk7QUFDeEMsUUFBTWEsT0FBTyxHQUFHLENBQUMsSUFBRCxFQUFPLE1BQVAsQ0FBaEI7QUFFQSxRQUFNVixLQUFLLEdBQUcsb0JBQ1osd0JBQVFVLE9BQU8sQ0FBQyxDQUFELENBQWYsQ0FEWSxFQUVaLHdCQUFRQSxPQUFPLENBQUMsQ0FBRCxDQUFmLENBRlksRUFHWmQsR0FIWSxDQUFkO0FBS0FDLEVBQUFBLENBQUMsQ0FBQ0ksSUFBRixDQUFPRCxLQUFLLENBQUNFLElBQU4sQ0FBV1MsT0FBWCxZQUE4QlAsS0FBckM7QUFDQVAsRUFBQUEsQ0FBQyxDQUFDWSxTQUFGLENBQVlULEtBQUssQ0FBQ0UsSUFBTixDQUFXUyxPQUF2QixFQUFnQyxDQUFDRCxPQUFELENBQWhDO0FBQ0FiLEVBQUFBLENBQUMsQ0FBQ1MsR0FBRjtBQUNELENBWEQ7QUFhQSxtQkFBSyw2QkFBTCxFQUFvQ1QsQ0FBQyxJQUFJO0FBQ3ZDLFFBQU1lLEtBQUssR0FBRyxHQUFkO0FBRUEsUUFBTVosS0FBSyxHQUFHLHNCQUFNWSxLQUFOLEVBQWFoQixHQUFiLENBQWQ7QUFFQUMsRUFBQUEsQ0FBQyxDQUFDUSxFQUFGLENBQUtMLEtBQUssQ0FBQ0UsSUFBTixDQUFXVyxLQUFoQixFQUF1QkQsS0FBdkI7QUFDQWYsRUFBQUEsQ0FBQyxDQUFDUyxHQUFGO0FBQ0QsQ0FQRDtBQVNBLG1CQUFLLGtDQUFMLEVBQXlDVCxDQUFDLElBQUk7QUFDNUMsUUFBTWUsS0FBSyxHQUFHLElBQWQ7QUFFQWYsRUFBQUEsQ0FBQyxDQUFDaUIsTUFBRixDQUFTLE1BQU0sc0JBQU1GLEtBQU4sRUFBYWhCLEdBQWIsQ0FBZixFQUFrQ21CLFNBQWxDO0FBQ0FsQixFQUFBQSxDQUFDLENBQUNTLEdBQUY7QUFDRCxDQUxEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wb3NlfSBmcm9tICdyYW1kYSc7XG5pbXBvcnQgdGVzdCBmcm9tICd0YXBlJztcbmltcG9ydCB7XG4gIHJlbGF0aW9uLFxuICBvcmRlcixcbiAgb3JkZXJCeUFzYyxcbiAgb3JkZXJCeURlc2MsXG4gIGxpbWl0LFxuICBleGNsdWRlLFxufSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jaGFpbmFibGUuanMnO1xuXG5jb25zdCByZWwgPSByZWxhdGlvbignd2lkZ2V0LndpZGdldCcpO1xuXG50ZXN0KCcjb3JkZXIgLSBhZGRzIHByb3BlciBvYmplY3QgdG8gYXJncycsIHQgPT4ge1xuICBjb25zdCBjb2x1bW4gPSAnbmFtZSc7XG4gIGNvbnN0IGRpcmVjdGlvbiA9ICdhc2MnO1xuXG4gIGNvbnN0IHF1ZXJ5ID0gb3JkZXIoZGlyZWN0aW9uLCBjb2x1bW4pKHJlbCk7XG5cbiAgdC50cnVlKHF1ZXJ5LmFyZ3Mub3JkZXIgaW5zdGFuY2VvZiBBcnJheSk7XG4gIHQuaXMocXVlcnkuYXJncy5vcmRlclswXS5jb2x1bW4sIGNvbHVtbik7XG4gIHQuaXMocXVlcnkuYXJncy5vcmRlclswXS5kaXJlY3Rpb24sIGRpcmVjdGlvbik7XG4gIHQuZW5kKCk7XG59KTtcblxudGVzdCgnI29yZGVyIC0gYXNjL2Rlc2MgYWRkIHZhbHVlJywgdCA9PiB7XG4gIGNvbnN0IGFzY0NvbHVtbiA9ICduYW1lJztcbiAgY29uc3QgZGVzY0NvbHVtbiA9ICd1cGRhdGVkX2F0JztcblxuICBjb25zdCBxdWVyeSA9IGNvbXBvc2UoXG4gICAgb3JkZXJCeUFzYyhhc2NDb2x1bW4pLFxuICAgIG9yZGVyQnlEZXNjKGRlc2NDb2x1bW4pLFxuICApKHJlbCk7XG5cbiAgdC50cnVlKHF1ZXJ5LmFyZ3Mub3JkZXIgaW5zdGFuY2VvZiBBcnJheSk7XG4gIHQuZGVlcEVxdWFsKHF1ZXJ5LmFyZ3Mub3JkZXIsIFtcbiAgICB7Y29sdW1uOiBkZXNjQ29sdW1uLCBkaXJlY3Rpb246ICdkZXNjJ30sXG4gICAge2NvbHVtbjogYXNjQ29sdW1uLCBkaXJlY3Rpb246ICdhc2MnfSxcbiAgXSk7XG4gIHQuZW5kKCk7XG59KTtcblxudGVzdCgnI2V4Y2x1ZGUgLSBhZGRzIGFycmF5IHZhbHVlcycsIHQgPT4ge1xuICBjb25zdCBjb2x1bW5zID0gWydpZCcsICduYW1lJ107XG5cbiAgY29uc3QgcXVlcnkgPSBjb21wb3NlKFxuICAgIGV4Y2x1ZGUoY29sdW1uc1sxXSksXG4gICAgZXhjbHVkZShjb2x1bW5zWzBdKSxcbiAgKShyZWwpO1xuXG4gIHQudHJ1ZShxdWVyeS5hcmdzLmV4Y2x1ZGUgaW5zdGFuY2VvZiBBcnJheSk7XG4gIHQuZGVlcEVxdWFsKHF1ZXJ5LmFyZ3MuZXhjbHVkZSwgW2NvbHVtbnNdKTtcbiAgdC5lbmQoKTtcbn0pO1xuXG50ZXN0KCcjbGltaXQgLSBhZGRzIHZhbHVlIHRvIGFyZ3MnLCB0ID0+IHtcbiAgY29uc3QgdmFsdWUgPSAnNSc7XG5cbiAgY29uc3QgcXVlcnkgPSBsaW1pdCh2YWx1ZSkocmVsKTtcblxuICB0LmlzKHF1ZXJ5LmFyZ3MubGltaXQsIHZhbHVlKTtcbiAgdC5lbmQoKTtcbn0pO1xuXG50ZXN0KCcjbGltaXQgLSB0aHJvd3Mgb24gaW52YWxpZCBpbnB1dCcsIHQgPT4ge1xuICBjb25zdCB2YWx1ZSA9IG51bGw7XG5cbiAgdC50aHJvd3MoKCkgPT4gbGltaXQodmFsdWUpKHJlbCksIFR5cGVFcnJvcik7XG4gIHQuZW5kKCk7XG59KTtcbiJdfQ==