dbjsond
Version:
Quick and easy database for Node.js.
100 lines (88 loc) • 2.57 kB
JavaScript
const dbjsond = require('../dbjsond'), db = new dbjsond(':memory');
describe('dbjsond', () => {
describe('add get remove', () => {
it("db.add('Key', 'Value')", done => {
db.add('Key', 'Value');
if(db._tempMemory['Key'] === 'Value') {
done();
} else {
throw 'Error';
}
});
it("db.add('Key', 'Value', 'Collection')", done => {
db.add('Key', 'Value', 'Collection');
if(db._tempMemory['Collection']['Key'] === 'Value') {
done();
} else {
throw 'Error';
}
});
it("db.get('Key')", done => {
if(db.get('Key') === 'Value') {
done();
} else {
throw 'Error';
}
});
it("db.get('Key', 'Collection')", done => {
if(db.get('Key', 'Collection') === 'Value') {
done();
} else {
throw 'Error';
}
});
it("db.remove('Key')", done => {
if(db.remove('Key') === db) {
done();
} else {
throw 'Error';
}
});
it("db.remove('Key', 'Collection')", done => {
if(db.remove('Key', 'Collection') === db) {
done();
} else {
throw 'Error';
}
});
});
describe('collections', () => {
it("db.setCollection('Collection').add('Key', 'Value')", done => {
db.setCollection('Collection').add('Key', 'Value');
if(db.setCollection('Collection').get('Key') === 'Value') {
done();
} else {
throw 'Error';
}
});
it("db.setCollection('Collection').get('Key')", done => {
if(db.setCollection('Collection').get('Key') === 'Value') {
done();
} else {
throw 'Error';
}
});
it("db.setCollection('Collection').remove('Key')", done => {
if(db.setCollection('Collection').remove('Key') === db) {
done();
} else {
throw 'Error';
}
});
it("db.setCollection('Collection').add('Key', 'Value').unsetCollection().add('Key', 'Value')", done => {
db.setCollection('Collection').add('Key', 'Value').unsetCollection().add('Key', 'Value');
if(db.setCollection('Collection').get('Key') === 'Value' && db.unsetCollection().get('Key') === 'Value') {
done();
} else {
throw 'Error';
}
});
it("db.removeCollection('Collection')", done => {
if(db.removeCollection('Collection') === db) {
done();
} else {
throw 'Error';
}
});
});
});