UNPKG

aquameta-datum

Version:

Service layer for the Aquameta database API

40 lines (38 loc) 5.09 kB
import test from 'tape'; import { client, database, query } from '../../index.js'; test('#query - throws with invalid client', async t => { await query({}, {}).catch(e => { t.true(e instanceof TypeError); t.true(/query: invalid client/.test(e.toString())); }); t.end(); }); test('#query - throws with invalid datum', async t => { await query(client.connection(), {}).catch(e => { t.true(e instanceof TypeError); t.true(/query: invalid executable/.test(e.toString())); }); t.end(); }); test('#query - will not throw with sane input', async t => { const rel = database.relation('widget.widget'); const exec = database.select(rel); try { await query(client.connection(), exec); } catch (e) { t.fail(); } t.pass(); t.end(); }); test('#query - will execute db connection', async t => { const rel = database.relation('bundle.commit'); const executeConnection = query(client.connection()); const rows = await executeConnection(database.select(rel)); t.true(rows instanceof Array); t.end(); }); test.skip('#query - will execute fetch', t => { t.end(); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbInRlc3QiLCJjbGllbnQiLCJkYXRhYmFzZSIsInF1ZXJ5IiwidCIsImNhdGNoIiwiZSIsInRydWUiLCJUeXBlRXJyb3IiLCJ0b1N0cmluZyIsImVuZCIsImNvbm5lY3Rpb24iLCJyZWwiLCJyZWxhdGlvbiIsImV4ZWMiLCJzZWxlY3QiLCJmYWlsIiwicGFzcyIsImV4ZWN1dGVDb25uZWN0aW9uIiwicm93cyIsIkFycmF5Iiwic2tpcCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsSUFBUCxNQUFpQixNQUFqQjtBQUNBLFNBQVFDLE1BQVIsRUFBZ0JDLFFBQWhCLEVBQTBCQyxLQUExQixRQUFzQyxnQkFBdEM7QUFFQUgsSUFBSSxDQUFDLHFDQUFELEVBQXdDLE1BQU1JLENBQU4sSUFBVztBQUNyRCxRQUFNRCxLQUFLLENBQUMsRUFBRCxFQUFLLEVBQUwsQ0FBTCxDQUFjRSxLQUFkLENBQW9CQyxDQUFDLElBQUk7QUFDN0JGLElBQUFBLENBQUMsQ0FBQ0csSUFBRixDQUFPRCxDQUFDLFlBQVlFLFNBQXBCO0FBQ0FKLElBQUFBLENBQUMsQ0FBQ0csSUFBRixDQUFPLHdCQUF3QlAsSUFBeEIsQ0FBNkJNLENBQUMsQ0FBQ0csUUFBRixFQUE3QixDQUFQO0FBQ0QsR0FISyxDQUFOO0FBSUFMLEVBQUFBLENBQUMsQ0FBQ00sR0FBRjtBQUNELENBTkcsQ0FBSjtBQVFBVixJQUFJLENBQUMsb0NBQUQsRUFBdUMsTUFBTUksQ0FBTixJQUFXO0FBQ3BELFFBQU1ELEtBQUssQ0FBQ0YsTUFBTSxDQUFDVSxVQUFQLEVBQUQsRUFBc0IsRUFBdEIsQ0FBTCxDQUErQk4sS0FBL0IsQ0FBcUNDLENBQUMsSUFBSTtBQUM5Q0YsSUFBQUEsQ0FBQyxDQUFDRyxJQUFGLENBQU9ELENBQUMsWUFBWUUsU0FBcEI7QUFDQUosSUFBQUEsQ0FBQyxDQUFDRyxJQUFGLENBQU8sNEJBQTRCUCxJQUE1QixDQUFpQ00sQ0FBQyxDQUFDRyxRQUFGLEVBQWpDLENBQVA7QUFDRCxHQUhLLENBQU47QUFJQUwsRUFBQUEsQ0FBQyxDQUFDTSxHQUFGO0FBQ0QsQ0FORyxDQUFKO0FBUUFWLElBQUksQ0FBQyx5Q0FBRCxFQUE0QyxNQUFNSSxDQUFOLElBQVc7QUFDekQsUUFBTVEsR0FBRyxHQUFHVixRQUFRLENBQUNXLFFBQVQsQ0FBa0IsZUFBbEIsQ0FBWjtBQUNBLFFBQU1DLElBQUksR0FBR1osUUFBUSxDQUFDYSxNQUFULENBQWdCSCxHQUFoQixDQUFiOztBQUNBLE1BQUk7QUFDRixVQUFNVCxLQUFLLENBQUNGLE1BQU0sQ0FBQ1UsVUFBUCxFQUFELEVBQXNCRyxJQUF0QixDQUFYO0FBQ0QsR0FGRCxDQUVFLE9BQU9SLENBQVAsRUFBVTtBQUNWRixJQUFBQSxDQUFDLENBQUNZLElBQUY7QUFDRDs7QUFDRFosRUFBQUEsQ0FBQyxDQUFDYSxJQUFGO0FBQ0FiLEVBQUFBLENBQUMsQ0FBQ00sR0FBRjtBQUNELENBVkcsQ0FBSjtBQVlBVixJQUFJLENBQUMscUNBQUQsRUFBd0MsTUFBTUksQ0FBTixJQUFXO0FBQ3JELFFBQU1RLEdBQUcsR0FBR1YsUUFBUSxDQUFDVyxRQUFULENBQWtCLGVBQWxCLENBQVo7QUFDQSxRQUFNSyxpQkFBaUIsR0FBR2YsS0FBSyxDQUFDRixNQUFNLENBQUNVLFVBQVAsRUFBRCxDQUEvQjtBQUVBLFFBQU1RLElBQUksR0FBRyxNQUFNRCxpQkFBaUIsQ0FBQ2hCLFFBQVEsQ0FBQ2EsTUFBVCxDQUFnQkgsR0FBaEIsQ0FBRCxDQUFwQztBQUVBUixFQUFBQSxDQUFDLENBQUNHLElBQUYsQ0FBT1ksSUFBSSxZQUFZQyxLQUF2QjtBQUNBaEIsRUFBQUEsQ0FBQyxDQUFDTSxHQUFGO0FBQ0QsQ0FSRyxDQUFKO0FBVUFWLElBQUksQ0FBQ3FCLElBQUwsQ0FBVSw2QkFBVixFQUF5Q2pCLENBQUMsSUFBSTtBQUM1Q0EsRUFBQUEsQ0FBQyxDQUFDTSxHQUFGO0FBQ0QsQ0FGRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0ZXN0IGZyb20gJ3RhcGUnO1xuaW1wb3J0IHtjbGllbnQsIGRhdGFiYXNlLCBxdWVyeX0gZnJvbSAnLi4vLi4vaW5kZXguanMnO1xuXG50ZXN0KCcjcXVlcnkgLSB0aHJvd3Mgd2l0aCBpbnZhbGlkIGNsaWVudCcsIGFzeW5jIHQgPT4ge1xuICBhd2FpdCBxdWVyeSh7fSwge30pLmNhdGNoKGUgPT4ge1xuICAgIHQudHJ1ZShlIGluc3RhbmNlb2YgVHlwZUVycm9yKTtcbiAgICB0LnRydWUoL3F1ZXJ5OiBpbnZhbGlkIGNsaWVudC8udGVzdChlLnRvU3RyaW5nKCkpKTtcbiAgfSk7XG4gIHQuZW5kKCk7XG59KTtcblxudGVzdCgnI3F1ZXJ5IC0gdGhyb3dzIHdpdGggaW52YWxpZCBkYXR1bScsIGFzeW5jIHQgPT4ge1xuICBhd2FpdCBxdWVyeShjbGllbnQuY29ubmVjdGlvbigpLCB7fSkuY2F0Y2goZSA9PiB7XG4gICAgdC50cnVlKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpO1xuICAgIHQudHJ1ZSgvcXVlcnk6IGludmFsaWQgZXhlY3V0YWJsZS8udGVzdChlLnRvU3RyaW5nKCkpKTtcbiAgfSk7XG4gIHQuZW5kKCk7XG59KTtcblxudGVzdCgnI3F1ZXJ5IC0gd2lsbCBub3QgdGhyb3cgd2l0aCBzYW5lIGlucHV0JywgYXN5bmMgdCA9PiB7XG4gIGNvbnN0IHJlbCA9IGRhdGFiYXNlLnJlbGF0aW9uKCd3aWRnZXQud2lkZ2V0Jyk7XG4gIGNvbnN0IGV4ZWMgPSBkYXRhYmFzZS5zZWxlY3QocmVsKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCBxdWVyeShjbGllbnQuY29ubmVjdGlvbigpLCBleGVjKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHQuZmFpbCgpO1xuICB9XG4gIHQucGFzcygpO1xuICB0LmVuZCgpO1xufSk7XG5cbnRlc3QoJyNxdWVyeSAtIHdpbGwgZXhlY3V0ZSBkYiBjb25uZWN0aW9uJywgYXN5bmMgdCA9PiB7XG4gIGNvbnN0IHJlbCA9IGRhdGFiYXNlLnJlbGF0aW9uKCdidW5kbGUuY29tbWl0Jyk7XG4gIGNvbnN0IGV4ZWN1dGVDb25uZWN0aW9uID0gcXVlcnkoY2xpZW50LmNvbm5lY3Rpb24oKSk7XG5cbiAgY29uc3Qgcm93cyA9IGF3YWl0IGV4ZWN1dGVDb25uZWN0aW9uKGRhdGFiYXNlLnNlbGVjdChyZWwpKTtcblxuICB0LnRydWUocm93cyBpbnN0YW5jZW9mIEFycmF5KTtcbiAgdC5lbmQoKTtcbn0pO1xuXG50ZXN0LnNraXAoJyNxdWVyeSAtIHdpbGwgZXhlY3V0ZSBmZXRjaCcsIHQgPT4ge1xuICB0LmVuZCgpO1xufSk7XG4iXX0=