it('a giant list of functions just call setState()', function() { const api = new Aurora(); const funcs = ['on', 'off', 'setBrightness', 'setSaturation', 'setHue', 'setTemperature']; const types = ['on', 'brightness', 'sat', 'hue', 'ct']; const stub = sinon.stub(api, 'setState').callsFake(() => { return Promise.resolve({ data: { value: 'ok' }}); }); const all = funcs.map(f => api[f]('value')); return Promise.all(all).then(() => { stub.called.must.be.true(); stub.callCount.must.equal(funcs.length); types.forEach(t => { stub.calledWith(t).must.be.true(); }); }); });
describe('#next()', () => { it('removes the first element in the queue', () => { const queue = new Queue(); queue.set('ok', 10); queue.set('not-ok', 1); queue.next(); queue.queue.must.have.length(1); queue.keys.size.must.equal(1); }); it('return the first element in the queue', () => { const queue = new Queue(); queue.set('ok', 10); queue.set('not-ok', 1); const el = queue.next(); el.must.have.keys(['priority', 'key']); el.priority.must.equal(1); el.key.must.equal('not-ok'); }); });
map.size.must.equal(1); map.get('example').must.equal(1); }); map.size.must.equal(1); map.get('a').must.be.instanceOf(Map); map.get('a').get('b').must.equal(1); }); map.size.must.equal(1); map.get('a').must.be.instanceOf(Map); map.get('a').get('b').must.be.instanceOf(Map); map.get('a').get('b').get('c').must.equal(1); }); map.size.must.equal(1); map.get('a').must.be.instanceOf(Map); map.get('a').get('b').get('c').must.be.instanceOf(Map); map.get('a').get('b').get('c').get('d').must.equal(1); }); map.size.must.equal(1); map.get('example').must.equal(0.02); }); map.size.must.equal(1); map.get('example').must.equal(4); }); });
it('a giant list of functions just call state()', function() { const api = new Aurora(); const stub = sinon.stub(api, 'state').callsFake(() => { return Promise.resolve({ data: { value: 'ok' }}); }); const funcs = ['mode', 'brightness', 'saturation', 'hue', 'temperature']; const types = ['colorMode', 'brightness', 'sat', 'hue', 'ct']; const all = funcs.map(f => api[f]()); return Promise.all(all).then(() => { stub.called.must.be.true(); stub.callCount.must.equal(funcs.length); types.forEach(t => { stub.calledWith(t).must.be.true(); }); }); });