UNPKG

rest-api-starter

Version:
54 lines (41 loc) 1.83 kB
/** * Created by svinci on 1/13/17. */ 'use strict'; const mocha = require('mocha'); const chai = require('chai'); const describe = mocha.describe; const it = mocha.it; const expect = chai.expect; const localStore = require('../app/local-store'); const Promise = require('bluebird'); describe('LocalStore', () => { it('an error should be thrown if domain wasn\'t created before operating on the store', (done) => { // Apparently, process.domain is not isolated between tests... so I need to destroy it before running a test that relies on it not being created on the first place. localStore.destroy(); try { localStore.putValue('some-key', 'some-value'); done('localStore was able to store a value although no store was created'); } catch (putError) { try { localStore.getValue('some-key'); done('localStore was able to retrieve a value although no store was created'); } catch (getError) { done(); } } }); it('a store should be created and store values across promises', (done) => { localStore.create(() => { localStore.putValue('some-key', 'some-value'); const firstPromise = new Promise((resolve) => resolve()) .then(() => expect(localStore.getValue('some-key')).to.equal('some-value')); const secondPromise = new Promise((resolve, reject) => reject()) .catch(() => expect(localStore.getValue('some-key')).to.equal('some-value')); Promise.all([firstPromise, secondPromise]) .then(() => expect(localStore.getValue('some-key')).to.equal('some-value')) .then(() => done()) .catch((err) => done(err)); }); }); });