-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-lcd.js
51 lines (45 loc) · 1.17 KB
/
test-lcd.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const mockery = require('mockery');
const expect = require('chai').expect;
const mockLcd = require('./mock-jsupm_i2clcd.js');
describe('Testing lcd', () => {
let lcd;
before(() => {
mockery.enable();
mockery.warnOnUnregistered(false);
mockery.registerMock('jsupm_i2clcd', mockLcd);
});
after(() => {
mockery.deregisterMock('jsupm_i2clcd');
mockery.disable();
});
beforeEach(() => {
lcd = require('../src/lcd.js'); // eslint-disable-line global-require
});
describe('#displayMessage(data)', () => {
it('should write the message', (done) => {
const testMessage = 'TestMessage';
lcd.displayMessage({
message: testMessage,
red: 0,
green: 0,
blue: 0,
});
expect(testMessage).to.equal(mockLcd.locals.message);
done();
});
it('should throw an error due to invalid colors.', (done) => {
try {
lcd.displayMessage({
message: 'testMessage',
red: -1,
green: 256,
blue: 300,
});
done('Error should have been thrown');
} catch (err) {
expect(err).to.be.an.error;
done();
}
});
});
});