@house-agency/brewstore
Version:
The Brewery Storage
61 lines (52 loc) • 1.59 kB
JavaScript
// Hide logging
require('@house-agency/brewtils/log').level('fatal');
// Load config file
require('@house-agency/brewtils/config').load('test/test.json');
const assert = require('chai').assert;
const errors = require('../errors');
const expect = require('chai').expect;
const keyvalue = require('../keyvalue');
describe('Key/Value', () => {
it('shall connect through config', done => {
keyvalue.then(database => {
return database.get('test');
})
.then(test => {
assert.ok(test);
})
.done(done);
});
it('shall set, get and del through run', done => {
keyvalue.run('test', 'set', 'test')
.then(() => {
return keyvalue.run('test', 'get');
})
.then(result => {
expect(result).to.equal('test');
return keyvalue.run('test', 'del');
})
.then(() => {
return keyvalue.run('test', 'get');
})
.catch(err => {
expect(err).to.be.instanceof(errors.EmptyRecordError);
})
.done(done);
});
it('shall publish and listen', done => {
keyvalue.listen('test')
.then(listener => {
listener.subscribe(
result => {
expect(result).to.equal('test');
done();
},
err => {
assert.fail(err);
done();
}
);
keyvalue.run('test', 'publish', 'test');
});
});
});