describe('#has()', () => { it('returns false when the key does not exist', () => { const queue = new Queue(); queue.set('not-ok', 3); queue.has('ok').must.be.false(); }); it('returns false when the key does not exist', () => { const queue = new Queue(); queue.set('not-ok', 3); queue.has('ok').must.be.false(); }); });
it('setState() hits the state endpoint', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'put').callsFake(() => { return Promise.resolve({ data: { value: 'ok' }}); }); return api.setState('field', 'value').then(r => { stub.called.must.be.true(); stub.calledWith('/state', { field: 'value' }).must.be.true(); }); });
it('display() does the same thing; it\'s like this was the whole API once', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'put').callsFake(() => { return Promise.resolve({ data: { }}); }); return api.display(new Aurora.Animation()).then(r => { stub.called.must.be.true(); stub.calledWith('/effects').must.be.true(); }); });
it('setPanel() fetches the current effect', function() { const api = new Aurora(); const getStub = sinon.stub(api.req, 'get').callsFake(() => { return Promise.resolve({ data: { }}); }); const putStub = sinon.stub(api.req, 'put').callsFake(() => { return Promise.resolve({ data: { }}); }); return api.setStaticPanel({ id: '100', r: 0, g: 0, b: 0 }).then(r => { getStub.called.must.be.true(); putStub.called.must.be.true(); }); });
it('setEffect() calls the correct api endpoint', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'put').callsFake(() => { return Promise.resolve({ data: { }}); }); return api.setEffect('foo').then(r => { stub.called.must.be.true(); stub.calledWith('/effects', { select: 'foo' }).must.be.true(); }); });
it('identify() does a PUT but I am okay with this', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'put').callsFake(() => { return Promise.resolve({ data: { }}); }); return api.identify().then(r => { stub.called.must.be.true(); stub.calledWith('/identify').must.be.true(); }); });
it('orientation() calls the correct api endpoint', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'get').callsFake(() => { return Promise.resolve({ data: { value: 'ok' }}); }); return api.orientation().then(r => { stub.called.must.be.true(); stub.calledWith('/panelLayout/globalOrientation').must.be.true(); }); });
it('effects() calls the correct api endpoint', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'get').callsFake(() => { return Promise.resolve({ data: { }}); }); return api.effects().then(r => { stub.called.must.be.true(); stub.calledWith('/effects/list').must.be.true(); }); });
it('curiously, animations() does a PUT to read all', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'put').callsFake(() => { return Promise.resolve({ data: { }}); }); return api.animations().then(r => { stub.called.must.be.true(); stub.calledWith('/effects').must.be.true(); }); });
it('layout() calls the correct api endpoint', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'get').callsFake(() => { return Promise.resolve({ data: { layoutData: '1 150 1 1 1' }}); }); return api.layout().then(r => { stub.called.must.be.true(); stub.calledWith('/panelLayout/layout').must.be.true(); }); });
it('effect() calls the correct api endpoint', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'get').callsFake(() => { return Promise.resolve({ data: { }}); }); return api.effect().then(r => { stub.called.must.be.true(); stub.calledWith('/effects/select').must.be.true(); }); });
it('addAnimation() is also a PUT to the same endpoint', function() { const api = new Aurora(); const stub = sinon.stub(api.req, 'put').callsFake(() => { return Promise.resolve({ data: { }}); }); return api.addAnimation({ foo: 'bar' }).then(r => { stub.called.must.be.true(); stub.calledWith('/effects').must.be.true(); }); });