UNPKG

aquameta-datum

Version:

Service layer for the Aquameta database API

71 lines 7.53 kB
import { compose } from 'ramda'; import test from 'tape'; import { relation, where, whereSimilarTo, whereNull } from '../../database/chainable.js'; const rel = relation('widget.widget'); test('#where - #equals - adds proper where object to args', t => { const name = 'name'; const op = '='; const value = 'my_widget'; const query = 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(); }); test('#where - #equals - can be called with all arguments', t => { const name = 'name'; const op = '='; const value = 'my_widget'; const query = where(name, value, rel); t.deepEqual(query.args.where[0], { name, op, value }); t.end(); }); test('#where - #equals - adds to existing where array', t => { const name = 'html'; const op = '='; const value = '<template></template>'; const query = compose(where(name, value), where('name', 'my_widget'))(rel); t.deepEqual(query.args.where, [{ name: 'name', op: '=', value: 'my_widget' }, { name, op, value }]); t.end(); }); test('#where - #similarTo - adds proper where object to args', t => { const name = 'name'; const op = 'similar to'; const value = '%my_widget'; const query = whereSimilarTo(name, value)(rel); t.deepEqual(query.args.where[0], { name, op, value }); t.end(); }); test('#where - #null - adds proper where object to args', t => { const name = 'name'; const op = 'is'; const value = null; const query = whereNull(name)(rel); t.deepEqual(query.args.where[0], { name, op, value }); t.end(); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNoYWluYWJsZS13aGVyZS5qcyJdLCJuYW1lcyI6WyJjb21wb3NlIiwidGVzdCIsInJlbGF0aW9uIiwid2hlcmUiLCJ3aGVyZVNpbWlsYXJUbyIsIndoZXJlTnVsbCIsInJlbCIsInQiLCJuYW1lIiwib3AiLCJ2YWx1ZSIsInF1ZXJ5IiwidHJ1ZSIsImFyZ3MiLCJBcnJheSIsImlzIiwiZGVlcEVxdWFsIiwiZW5kIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxPQUFSLFFBQXNCLE9BQXRCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixNQUFqQjtBQUNBLFNBQ0VDLFFBREYsRUFFRUMsS0FGRixFQUdFQyxjQUhGLEVBSUVDLFNBSkYsUUFLTyw2QkFMUDtBQU9BLE1BQU1DLEdBQUcsR0FBR0osUUFBUSxDQUFDLGVBQUQsQ0FBcEI7QUFFQUQsSUFBSSxDQUFDLHFEQUFELEVBQXdETSxDQUFDLElBQUk7QUFDL0QsUUFBTUMsSUFBSSxHQUFHLE1BQWI7QUFDQSxRQUFNQyxFQUFFLEdBQUcsR0FBWDtBQUNBLFFBQU1DLEtBQUssR0FBRyxXQUFkO0FBRUEsUUFBTUMsS0FBSyxHQUFHUixLQUFLLENBQUNLLElBQUQsRUFBT0UsS0FBUCxDQUFMLENBQW1CSixHQUFuQixDQUFkO0FBRUFDLEVBQUFBLENBQUMsQ0FBQ0ssSUFBRixDQUFPRCxLQUFLLENBQUNFLElBQU4sQ0FBV1YsS0FBWCxZQUE0QlcsS0FBbkM7QUFDQVAsRUFBQUEsQ0FBQyxDQUFDUSxFQUFGLENBQUssT0FBT0osS0FBSyxDQUFDRSxJQUFOLENBQVdWLEtBQVgsQ0FBaUIsQ0FBakIsQ0FBWixFQUFpQyxRQUFqQztBQUNBSSxFQUFBQSxDQUFDLENBQUNTLFNBQUYsQ0FBWUwsS0FBSyxDQUFDRSxJQUFOLENBQVdWLEtBQVgsQ0FBaUIsQ0FBakIsQ0FBWixFQUFpQztBQUFDSyxJQUFBQSxJQUFEO0FBQU9DLElBQUFBLEVBQVA7QUFBV0MsSUFBQUE7QUFBWCxHQUFqQztBQUNBSCxFQUFBQSxDQUFDLENBQUNVLEdBQUY7QUFDRCxDQVhHLENBQUo7QUFhQWhCLElBQUksQ0FBQyxxREFBRCxFQUF3RE0sQ0FBQyxJQUFJO0FBQy9ELFFBQU1DLElBQUksR0FBRyxNQUFiO0FBQ0EsUUFBTUMsRUFBRSxHQUFHLEdBQVg7QUFDQSxRQUFNQyxLQUFLLEdBQUcsV0FBZDtBQUVBLFFBQU1DLEtBQUssR0FBR1IsS0FBSyxDQUFDSyxJQUFELEVBQU9FLEtBQVAsRUFBY0osR0FBZCxDQUFuQjtBQUVBQyxFQUFBQSxDQUFDLENBQUNTLFNBQUYsQ0FBWUwsS0FBSyxDQUFDRSxJQUFOLENBQVdWLEtBQVgsQ0FBaUIsQ0FBakIsQ0FBWixFQUFpQztBQUFDSyxJQUFBQSxJQUFEO0FBQU9DLElBQUFBLEVBQVA7QUFBV0MsSUFBQUE7QUFBWCxHQUFqQztBQUNBSCxFQUFBQSxDQUFDLENBQUNVLEdBQUY7QUFDRCxDQVRHLENBQUo7QUFXQWhCLElBQUksQ0FBQyxpREFBRCxFQUFvRE0sQ0FBQyxJQUFJO0FBQzNELFFBQU1DLElBQUksR0FBRyxNQUFiO0FBQ0EsUUFBTUMsRUFBRSxHQUFHLEdBQVg7QUFDQSxRQUFNQyxLQUFLLEdBQUcsdUJBQWQ7QUFFQSxRQUFNQyxLQUFLLEdBQUdYLE9BQU8sQ0FDbkJHLEtBQUssQ0FBQ0ssSUFBRCxFQUFPRSxLQUFQLENBRGMsRUFFbkJQLEtBQUssQ0FBQyxNQUFELEVBQVMsV0FBVCxDQUZjLENBQVAsQ0FHWkcsR0FIWSxDQUFkO0FBS0FDLEVBQUFBLENBQUMsQ0FBQ1MsU0FBRixDQUFZTCxLQUFLLENBQUNFLElBQU4sQ0FBV1YsS0FBdkIsRUFBOEIsQ0FDNUI7QUFBQ0ssSUFBQUEsSUFBSSxFQUFFLE1BQVA7QUFBZUMsSUFBQUEsRUFBRSxFQUFFLEdBQW5CO0FBQXdCQyxJQUFBQSxLQUFLLEVBQUU7QUFBL0IsR0FENEIsRUFFNUI7QUFBQ0YsSUFBQUEsSUFBRDtBQUFPQyxJQUFBQSxFQUFQO0FBQVdDLElBQUFBO0FBQVgsR0FGNEIsQ0FBOUI7QUFJQUgsRUFBQUEsQ0FBQyxDQUFDVSxHQUFGO0FBQ0QsQ0FmRyxDQUFKO0FBaUJBaEIsSUFBSSxDQUFDLHdEQUFELEVBQTJETSxDQUFDLElBQUk7QUFDbEUsUUFBTUMsSUFBSSxHQUFHLE1BQWI7QUFDQSxRQUFNQyxFQUFFLEdBQUcsWUFBWDtBQUNBLFFBQU1DLEtBQUssR0FBRyxZQUFkO0FBRUEsUUFBTUMsS0FBSyxHQUFHUCxjQUFjLENBQUNJLElBQUQsRUFBT0UsS0FBUCxDQUFkLENBQTRCSixHQUE1QixDQUFkO0FBRUFDLEVBQUFBLENBQUMsQ0FBQ1MsU0FBRixDQUFZTCxLQUFLLENBQUNFLElBQU4sQ0FBV1YsS0FBWCxDQUFpQixDQUFqQixDQUFaLEVBQWlDO0FBQUNLLElBQUFBLElBQUQ7QUFBT0MsSUFBQUEsRUFBUDtBQUFXQyxJQUFBQTtBQUFYLEdBQWpDO0FBQ0FILEVBQUFBLENBQUMsQ0FBQ1UsR0FBRjtBQUNELENBVEcsQ0FBSjtBQVdBaEIsSUFBSSxDQUFDLG1EQUFELEVBQXNETSxDQUFDLElBQUk7QUFDN0QsUUFBTUMsSUFBSSxHQUFHLE1BQWI7QUFDQSxRQUFNQyxFQUFFLEdBQUcsSUFBWDtBQUNBLFFBQU1DLEtBQUssR0FBRyxJQUFkO0FBRUEsUUFBTUMsS0FBSyxHQUFHTixTQUFTLENBQUNHLElBQUQsQ0FBVCxDQUFnQkYsR0FBaEIsQ0FBZDtBQUVBQyxFQUFBQSxDQUFDLENBQUNTLFNBQUYsQ0FBWUwsS0FBSyxDQUFDRSxJQUFOLENBQVdWLEtBQVgsQ0FBaUIsQ0FBakIsQ0FBWixFQUFpQztBQUFDSyxJQUFBQSxJQUFEO0FBQU9DLElBQUFBLEVBQVA7QUFBV0MsSUFBQUE7QUFBWCxHQUFqQztBQUNBSCxFQUFBQSxDQUFDLENBQUNVLEdBQUY7QUFDRCxDQVRHLENBQUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXBvc2V9IGZyb20gJ3JhbWRhJztcbmltcG9ydCB0ZXN0IGZyb20gJ3RhcGUnO1xuaW1wb3J0IHtcbiAgcmVsYXRpb24sXG4gIHdoZXJlLFxuICB3aGVyZVNpbWlsYXJUbyxcbiAgd2hlcmVOdWxsLFxufSBmcm9tICcuLi8uLi9kYXRhYmFzZS9jaGFpbmFibGUuanMnO1xuXG5jb25zdCByZWwgPSByZWxhdGlvbignd2lkZ2V0LndpZGdldCcpO1xuXG50ZXN0KCcjd2hlcmUgLSAjZXF1YWxzIC0gYWRkcyBwcm9wZXIgd2hlcmUgb2JqZWN0IHRvIGFyZ3MnLCB0ID0+IHtcbiAgY29uc3QgbmFtZSA9ICduYW1lJztcbiAgY29uc3Qgb3AgPSAnPSc7XG4gIGNvbnN0IHZhbHVlID0gJ215X3dpZGdldCc7XG5cbiAgY29uc3QgcXVlcnkgPSB3aGVyZShuYW1lLCB2YWx1ZSkocmVsKTtcblxuICB0LnRydWUocXVlcnkuYXJncy53aGVyZSBpbnN0YW5jZW9mIEFycmF5KTtcbiAgdC5pcyh0eXBlb2YgcXVlcnkuYXJncy53aGVyZVswXSwgJ29iamVjdCcpO1xuICB0LmRlZXBFcXVhbChxdWVyeS5hcmdzLndoZXJlWzBdLCB7bmFtZSwgb3AsIHZhbHVlfSk7XG4gIHQuZW5kKCk7XG59KTtcblxudGVzdCgnI3doZXJlIC0gI2VxdWFscyAtIGNhbiBiZSBjYWxsZWQgd2l0aCBhbGwgYXJndW1lbnRzJywgdCA9PiB7XG4gIGNvbnN0IG5hbWUgPSAnbmFtZSc7XG4gIGNvbnN0IG9wID0gJz0nO1xuICBjb25zdCB2YWx1ZSA9ICdteV93aWRnZXQnO1xuXG4gIGNvbnN0IHF1ZXJ5ID0gd2hlcmUobmFtZSwgdmFsdWUsIHJlbCk7XG5cbiAgdC5kZWVwRXF1YWwocXVlcnkuYXJncy53aGVyZVswXSwge25hbWUsIG9wLCB2YWx1ZX0pO1xuICB0LmVuZCgpO1xufSk7XG5cbnRlc3QoJyN3aGVyZSAtICNlcXVhbHMgLSBhZGRzIHRvIGV4aXN0aW5nIHdoZXJlIGFycmF5JywgdCA9PiB7XG4gIGNvbnN0IG5hbWUgPSAnaHRtbCc7XG4gIGNvbnN0IG9wID0gJz0nO1xuICBjb25zdCB2YWx1ZSA9ICc8dGVtcGxhdGU+PC90ZW1wbGF0ZT4nO1xuXG4gIGNvbnN0IHF1ZXJ5ID0gY29tcG9zZShcbiAgICB3aGVyZShuYW1lLCB2YWx1ZSksXG4gICAgd2hlcmUoJ25hbWUnLCAnbXlfd2lkZ2V0JyksXG4gICkocmVsKTtcblxuICB0LmRlZXBFcXVhbChxdWVyeS5hcmdzLndoZXJlLCBbXG4gICAge25hbWU6ICduYW1lJywgb3A6ICc9JywgdmFsdWU6ICdteV93aWRnZXQnfSxcbiAgICB7bmFtZSwgb3AsIHZhbHVlfSxcbiAgXSk7XG4gIHQuZW5kKCk7XG59KTtcblxudGVzdCgnI3doZXJlIC0gI3NpbWlsYXJUbyAtIGFkZHMgcHJvcGVyIHdoZXJlIG9iamVjdCB0byBhcmdzJywgdCA9PiB7XG4gIGNvbnN0IG5hbWUgPSAnbmFtZSc7XG4gIGNvbnN0IG9wID0gJ3NpbWlsYXIgdG8nO1xuICBjb25zdCB2YWx1ZSA9ICclbXlfd2lkZ2V0JztcblxuICBjb25zdCBxdWVyeSA9IHdoZXJlU2ltaWxhclRvKG5hbWUsIHZhbHVlKShyZWwpO1xuXG4gIHQuZGVlcEVxdWFsKHF1ZXJ5LmFyZ3Mud2hlcmVbMF0sIHtuYW1lLCBvcCwgdmFsdWV9KTtcbiAgdC5lbmQoKTtcbn0pO1xuXG50ZXN0KCcjd2hlcmUgLSAjbnVsbCAtIGFkZHMgcHJvcGVyIHdoZXJlIG9iamVjdCB0byBhcmdzJywgdCA9PiB7XG4gIGNvbnN0IG5hbWUgPSAnbmFtZSc7XG4gIGNvbnN0IG9wID0gJ2lzJztcbiAgY29uc3QgdmFsdWUgPSBudWxsO1xuXG4gIGNvbnN0IHF1ZXJ5ID0gd2hlcmVOdWxsKG5hbWUpKHJlbCk7XG5cbiAgdC5kZWVwRXF1YWwocXVlcnkuYXJncy53aGVyZVswXSwge25hbWUsIG9wLCB2YWx1ZX0pO1xuICB0LmVuZCgpO1xufSk7XG4iXX0=