aquameta-datum
Version:
Service layer for the Aquameta database API
78 lines (73 loc) • 7.48 kB
JavaScript
"use strict";
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)('#where - #equals - adds proper where object to args', t => {
const name = 'name';
const op = '=';
const value = 'my_widget';
const query = (0, _chainable.where)(name, value)(rel);
t.true(query.args.where instanceof Array);
t.is(typeof query.args.where[0], 'object');
t.deepEqual(query.args.where[0], {
name,
op,
value
});
t.end();
});
(0, _tape.default)('#where - #equals - can be called with all arguments', t => {
const name = 'name';
const op = '=';
const value = 'my_widget';
const query = (0, _chainable.where)(name, value, rel);
t.deepEqual(query.args.where[0], {
name,
op,
value
});
t.end();
});
(0, _tape.default)('#where - #equals - adds to existing where array', t => {
const name = 'html';
const op = '=';
const value = '<template></template>';
const query = (0, _ramda.compose)((0, _chainable.where)(name, value), (0, _chainable.where)('name', 'my_widget'))(rel);
t.deepEqual(query.args.where, [{
name: 'name',
op: '=',
value: 'my_widget'
}, {
name,
op,
value
}]);
t.end();
});
(0, _tape.default)('#where - #similarTo - adds proper where object to args', t => {
const name = 'name';
const op = 'similar to';
const value = '%my_widget';
const query = (0, _chainable.whereSimilarTo)(name, value)(rel);
t.deepEqual(query.args.where[0], {
name,
op,
value
});
t.end();
});
(0, _tape.default)('#where - #null - adds proper where object to args', t => {
const name = 'name';
const op = 'is';
const value = null;
const query = (0, _chainable.whereNull)(name)(rel);
t.deepEqual(query.args.where[0], {
name,
op,
value
});
t.end();
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNoYWluYWJsZS13aGVyZS5qcyJdLCJuYW1lcyI6WyJyZWwiLCJ0IiwibmFtZSIsIm9wIiwidmFsdWUiLCJxdWVyeSIsInRydWUiLCJhcmdzIiwid2hlcmUiLCJBcnJheSIsImlzIiwiZGVlcEVxdWFsIiwiZW5kIl0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUNBOztBQUNBOzs7O0FBT0EsTUFBTUEsR0FBRyxHQUFHLHlCQUFTLGVBQVQsQ0FBWjtBQUVBLG1CQUFLLHFEQUFMLEVBQTREQyxDQUFDLElBQUk7QUFDL0QsUUFBTUMsSUFBSSxHQUFHLE1BQWI7QUFDQSxRQUFNQyxFQUFFLEdBQUcsR0FBWDtBQUNBLFFBQU1DLEtBQUssR0FBRyxXQUFkO0FBRUEsUUFBTUMsS0FBSyxHQUFHLHNCQUFNSCxJQUFOLEVBQVlFLEtBQVosRUFBbUJKLEdBQW5CLENBQWQ7QUFFQUMsRUFBQUEsQ0FBQyxDQUFDSyxJQUFGLENBQU9ELEtBQUssQ0FBQ0UsSUFBTixDQUFXQyxLQUFYLFlBQTRCQyxLQUFuQztBQUNBUixFQUFBQSxDQUFDLENBQUNTLEVBQUYsQ0FBSyxPQUFPTCxLQUFLLENBQUNFLElBQU4sQ0FBV0MsS0FBWCxDQUFpQixDQUFqQixDQUFaLEVBQWlDLFFBQWpDO0FBQ0FQLEVBQUFBLENBQUMsQ0FBQ1UsU0FBRixDQUFZTixLQUFLLENBQUNFLElBQU4sQ0FBV0MsS0FBWCxDQUFpQixDQUFqQixDQUFaLEVBQWlDO0FBQUNOLElBQUFBLElBQUQ7QUFBT0MsSUFBQUEsRUFBUDtBQUFXQyxJQUFBQTtBQUFYLEdBQWpDO0FBQ0FILEVBQUFBLENBQUMsQ0FBQ1csR0FBRjtBQUNELENBWEQ7QUFhQSxtQkFBSyxxREFBTCxFQUE0RFgsQ0FBQyxJQUFJO0FBQy9ELFFBQU1DLElBQUksR0FBRyxNQUFiO0FBQ0EsUUFBTUMsRUFBRSxHQUFHLEdBQVg7QUFDQSxRQUFNQyxLQUFLLEdBQUcsV0FBZDtBQUVBLFFBQU1DLEtBQUssR0FBRyxzQkFBTUgsSUFBTixFQUFZRSxLQUFaLEVBQW1CSixHQUFuQixDQUFkO0FBRUFDLEVBQUFBLENBQUMsQ0FBQ1UsU0FBRixDQUFZTixLQUFLLENBQUNFLElBQU4sQ0FBV0MsS0FBWCxDQUFpQixDQUFqQixDQUFaLEVBQWlDO0FBQUNOLElBQUFBLElBQUQ7QUFBT0MsSUFBQUEsRUFBUDtBQUFXQyxJQUFBQTtBQUFYLEdBQWpDO0FBQ0FILEVBQUFBLENBQUMsQ0FBQ1csR0FBRjtBQUNELENBVEQ7QUFXQSxtQkFBSyxpREFBTCxFQUF3RFgsQ0FBQyxJQUFJO0FBQzNELFFBQU1DLElBQUksR0FBRyxNQUFiO0FBQ0EsUUFBTUMsRUFBRSxHQUFHLEdBQVg7QUFDQSxRQUFNQyxLQUFLLEdBQUcsdUJBQWQ7QUFFQSxRQUFNQyxLQUFLLEdBQUcsb0JBQ1osc0JBQU1ILElBQU4sRUFBWUUsS0FBWixDQURZLEVBRVosc0JBQU0sTUFBTixFQUFjLFdBQWQsQ0FGWSxFQUdaSixHQUhZLENBQWQ7QUFLQUMsRUFBQUEsQ0FBQyxDQUFDVSxTQUFGLENBQVlOLEtBQUssQ0FBQ0UsSUFBTixDQUFXQyxLQUF2QixFQUE4QixDQUM1QjtBQUFDTixJQUFBQSxJQUFJLEVBQUUsTUFBUDtBQUFlQyxJQUFBQSxFQUFFLEVBQUUsR0FBbkI7QUFBd0JDLElBQUFBLEtBQUssRUFBRTtBQUEvQixHQUQ0QixFQUU1QjtBQUFDRixJQUFBQSxJQUFEO0FBQU9DLElBQUFBLEVBQVA7QUFBV0MsSUFBQUE7QUFBWCxHQUY0QixDQUE5QjtBQUlBSCxFQUFBQSxDQUFDLENBQUNXLEdBQUY7QUFDRCxDQWZEO0FBaUJBLG1CQUFLLHdEQUFMLEVBQStEWCxDQUFDLElBQUk7QUFDbEUsUUFBTUMsSUFBSSxHQUFHLE1BQWI7QUFDQSxRQUFNQyxFQUFFLEdBQUcsWUFBWDtBQUNBLFFBQU1DLEtBQUssR0FBRyxZQUFkO0FBRUEsUUFBTUMsS0FBSyxHQUFHLCtCQUFlSCxJQUFmLEVBQXFCRSxLQUFyQixFQUE0QkosR0FBNUIsQ0FBZDtBQUVBQyxFQUFBQSxDQUFDLENBQUNVLFNBQUYsQ0FBWU4sS0FBSyxDQUFDRSxJQUFOLENBQVdDLEtBQVgsQ0FBaUIsQ0FBakIsQ0FBWixFQUFpQztBQUFDTixJQUFBQSxJQUFEO0FBQU9DLElBQUFBLEVBQVA7QUFBV0MsSUFBQUE7QUFBWCxHQUFqQztBQUNBSCxFQUFBQSxDQUFDLENBQUNXLEdBQUY7QUFDRCxDQVREO0FBV0EsbUJBQUssbURBQUwsRUFBMERYLENBQUMsSUFBSTtBQUM3RCxRQUFNQyxJQUFJLEdBQUcsTUFBYjtBQUNBLFFBQU1DLEVBQUUsR0FBRyxJQUFYO0FBQ0EsUUFBTUMsS0FBSyxHQUFHLElBQWQ7QUFFQSxRQUFNQyxLQUFLLEdBQUcsMEJBQVVILElBQVYsRUFBZ0JGLEdBQWhCLENBQWQ7QUFFQUMsRUFBQUEsQ0FBQyxDQUFDVSxTQUFGLENBQVlOLEtBQUssQ0FBQ0UsSUFBTixDQUFXQyxLQUFYLENBQWlCLENBQWpCLENBQVosRUFBaUM7QUFBQ04sSUFBQUEsSUFBRDtBQUFPQyxJQUFBQSxFQUFQO0FBQVdDLElBQUFBO0FBQVgsR0FBakM7QUFDQUgsRUFBQUEsQ0FBQyxDQUFDVyxHQUFGO0FBQ0QsQ0FURCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcG9zZX0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHRlc3QgZnJvbSAndGFwZSc7XG5pbXBvcnQge1xuICByZWxhdGlvbixcbiAgd2hlcmUsXG4gIHdoZXJlU2ltaWxhclRvLFxuICB3aGVyZU51bGwsXG59IGZyb20gJy4uLy4uL2RhdGFiYXNlL2NoYWluYWJsZS5qcyc7XG5cbmNvbnN0IHJlbCA9IHJlbGF0aW9uKCd3aWRnZXQud2lkZ2V0Jyk7XG5cbnRlc3QoJyN3aGVyZSAtICNlcXVhbHMgLSBhZGRzIHByb3BlciB3aGVyZSBvYmplY3QgdG8gYXJncycsIHQgPT4ge1xuICBjb25zdCBuYW1lID0gJ25hbWUnO1xuICBjb25zdCBvcCA9ICc9JztcbiAgY29uc3QgdmFsdWUgPSAnbXlfd2lkZ2V0JztcblxuICBjb25zdCBxdWVyeSA9IHdoZXJlKG5hbWUsIHZhbHVlKShyZWwpO1xuXG4gIHQudHJ1ZShxdWVyeS5hcmdzLndoZXJlIGluc3RhbmNlb2YgQXJyYXkpO1xuICB0LmlzKHR5cGVvZiBxdWVyeS5hcmdzLndoZXJlWzBdLCAnb2JqZWN0Jyk7XG4gIHQuZGVlcEVxdWFsKHF1ZXJ5LmFyZ3Mud2hlcmVbMF0sIHtuYW1lLCBvcCwgdmFsdWV9KTtcbiAgdC5lbmQoKTtcbn0pO1xuXG50ZXN0KCcjd2hlcmUgLSAjZXF1YWxzIC0gY2FuIGJlIGNhbGxlZCB3aXRoIGFsbCBhcmd1bWVudHMnLCB0ID0+IHtcbiAgY29uc3QgbmFtZSA9ICduYW1lJztcbiAgY29uc3Qgb3AgPSAnPSc7XG4gIGNvbnN0IHZhbHVlID0gJ215X3dpZGdldCc7XG5cbiAgY29uc3QgcXVlcnkgPSB3aGVyZShuYW1lLCB2YWx1ZSwgcmVsKTtcblxuICB0LmRlZXBFcXVhbChxdWVyeS5hcmdzLndoZXJlWzBdLCB7bmFtZSwgb3AsIHZhbHVlfSk7XG4gIHQuZW5kKCk7XG59KTtcblxudGVzdCgnI3doZXJlIC0gI2VxdWFscyAtIGFkZHMgdG8gZXhpc3Rpbmcgd2hlcmUgYXJyYXknLCB0ID0+IHtcbiAgY29uc3QgbmFtZSA9ICdodG1sJztcbiAgY29uc3Qgb3AgPSAnPSc7XG4gIGNvbnN0IHZhbHVlID0gJzx0ZW1wbGF0ZT48L3RlbXBsYXRlPic7XG5cbiAgY29uc3QgcXVlcnkgPSBjb21wb3NlKFxuICAgIHdoZXJlKG5hbWUsIHZhbHVlKSxcbiAgICB3aGVyZSgnbmFtZScsICdteV93aWRnZXQnKSxcbiAgKShyZWwpO1xuXG4gIHQuZGVlcEVxdWFsKHF1ZXJ5LmFyZ3Mud2hlcmUsIFtcbiAgICB7bmFtZTogJ25hbWUnLCBvcDogJz0nLCB2YWx1ZTogJ215X3dpZGdldCd9LFxuICAgIHtuYW1lLCBvcCwgdmFsdWV9LFxuICBdKTtcbiAgdC5lbmQoKTtcbn0pO1xuXG50ZXN0KCcjd2hlcmUgLSAjc2ltaWxhclRvIC0gYWRkcyBwcm9wZXIgd2hlcmUgb2JqZWN0IHRvIGFyZ3MnLCB0ID0+IHtcbiAgY29uc3QgbmFtZSA9ICduYW1lJztcbiAgY29uc3Qgb3AgPSAnc2ltaWxhciB0byc7XG4gIGNvbnN0IHZhbHVlID0gJyVteV93aWRnZXQnO1xuXG4gIGNvbnN0IHF1ZXJ5ID0gd2hlcmVTaW1pbGFyVG8obmFtZSwgdmFsdWUpKHJlbCk7XG5cbiAgdC5kZWVwRXF1YWwocXVlcnkuYXJncy53aGVyZVswXSwge25hbWUsIG9wLCB2YWx1ZX0pO1xuICB0LmVuZCgpO1xufSk7XG5cbnRlc3QoJyN3aGVyZSAtICNudWxsIC0gYWRkcyBwcm9wZXIgd2hlcmUgb2JqZWN0IHRvIGFyZ3MnLCB0ID0+IHtcbiAgY29uc3QgbmFtZSA9ICduYW1lJztcbiAgY29uc3Qgb3AgPSAnaXMnO1xuICBjb25zdCB2YWx1ZSA9IG51bGw7XG5cbiAgY29uc3QgcXVlcnkgPSB3aGVyZU51bGwobmFtZSkocmVsKTtcblxuICB0LmRlZXBFcXVhbChxdWVyeS5hcmdzLndoZXJlWzBdLCB7bmFtZSwgb3AsIHZhbHVlfSk7XG4gIHQuZW5kKCk7XG59KTtcbiJdfQ==