forked from nightscout/cgm-remote-monitor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdirection.test.js
104 lines (75 loc) · 3.67 KB
/
direction.test.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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
'use strict';
require('should');
describe('BG direction', function ( ) {
var now = Date.now();
function setupSandbox(data, pluginBase) {
var ctx = {
settings: {}
, pluginBase: pluginBase || {}
};
ctx.language = require('../lib/language')();
var sandbox = require('../lib/sandbox')();
return sandbox.clientInit(ctx, Date.now(), data);
}
it('set the direction property - Flat', function (done) {
var sbx = setupSandbox({sgvs: [{mills: now, direction: 'Flat'}]});
sbx.offerProperty = function mockedOfferProperty (name, setter) {
name.should.equal('direction');
var result = setter();
result.value.should.equal('Flat');
result.label.should.equal('→');
result.entity.should.equal('→');
done();
};
var direction = require('../lib/plugins/direction')();
direction.setProperties(sbx);
});
it('set the direction property Double Up', function (done) {
var sbx = setupSandbox({sgvs: [{mills: now, direction: 'DoubleUp'}]});
sbx.offerProperty = function mockedOfferProperty (name, setter) {
name.should.equal('direction');
var result = setter();
result.value.should.equal('DoubleUp');
result.label.should.equal('⇈');
result.entity.should.equal('⇈');
done();
};
var direction = require('../lib/plugins/direction')();
direction.setProperties(sbx);
});
it('set a pill to the direction', function (done) {
var pluginBase = {
updatePillText: function mockedUpdatePillText (plugin, options) {
options.label.should.equal('→︎');
done();
}
};
var sbx = setupSandbox({sgvs: [{mills: now, direction: 'Flat'}]}, pluginBase);
var direction = require('../lib/plugins/direction')();
direction.setProperties(sbx);
direction.updateVisualisation(sbx);
});
it('get the info for a direction', function () {
var direction = require('../lib/plugins/direction')();
direction.info({mills: now, direction: 'NONE'}).label.should.equal('⇼');
direction.info({mills: now, direction: 'NONE'}).entity.should.equal('⇼');
direction.info({mills: now, direction: 'DoubleUp'}).label.should.equal('⇈');
direction.info({mills: now, direction: 'DoubleUp'}).entity.should.equal('⇈');
direction.info({mills: now, direction: 'SingleUp'}).label.should.equal('↑');
direction.info({mills: now, direction: 'SingleUp'}).entity.should.equal('↑');
direction.info({mills: now, direction: 'FortyFiveUp'}).label.should.equal('↗');
direction.info({mills: now, direction: 'FortyFiveUp'}).entity.should.equal('↗');
direction.info({mills: now, direction: 'Flat'}).label.should.equal('→');
direction.info({mills: now, direction: 'Flat'}).entity.should.equal('→');
direction.info({mills: now, direction: 'FortyFiveDown'}).label.should.equal('↘');
direction.info({mills: now, direction: 'FortyFiveDown'}).entity.should.equal('↘');
direction.info({mills: now, direction: 'SingleDown'}).label.should.equal('↓');
direction.info({mills: now, direction: 'SingleDown'}).entity.should.equal('↓');
direction.info({mills: now, direction: 'DoubleDown'}).label.should.equal('⇊');
direction.info({mills: now, direction: 'DoubleDown'}).entity.should.equal('⇊');
direction.info({mills: now, direction: 'NOT COMPUTABLE'}).label.should.equal('-');
direction.info({mills: now, direction: 'NOT COMPUTABLE'}).entity.should.equal('-');
direction.info({mills: now, direction: 'RATE OUT OF RANGE'}).label.should.equal('⇕');
direction.info({mills: now, direction: 'RATE OUT OF RANGE'}).entity.should.equal('⇕');
});
});