Refactor moment to be loaded from ctx (#7331)

* Experimental branch that replaces momentjs with dayjs in the client

* Revert unintentional change

* feat

* Turns out dayjs is a no-go, but this has some good restructuring so submitting that
This commit is contained in:
Sulka Haro
2023-01-01 19:14:59 +02:00
committed by GitHub
parent e1f75cba6c
commit 3a0629578e
45 changed files with 198 additions and 169 deletions
+8 -2
View File
@@ -18,14 +18,20 @@ require('../node_modules/flot/jquery.flot.time');
require('../node_modules/flot/jquery.flot.pie'); require('../node_modules/flot/jquery.flot.pie');
require('../node_modules/flot/jquery.flot.fillbetween'); require('../node_modules/flot/jquery.flot.fillbetween');
window.moment = require('moment-timezone'); const moment = require('moment-timezone');
window.moment = moment;
window.Nightscout = window.Nightscout || {}; window.Nightscout = window.Nightscout || {};
var ctx = {
moment: moment
};
window.Nightscout = { window.Nightscout = {
client: require('../lib/client'), client: require('../lib/client'),
units: require('../lib/units')(), units: require('../lib/units')(),
admin_plugins: require('../lib/admin_plugins/')() admin_plugins: require('../lib/admin_plugins/')(ctx)
}; };
window.Nightscout.report_plugins_preinit = require('../lib/report_plugins/'); window.Nightscout.report_plugins_preinit = require('../lib/report_plugins/');
+3 -2
View File
@@ -1,6 +1,6 @@
'use strict'; 'use strict';
var moment = require('moment'); var moment;
var cleanentriesdb = { var cleanentriesdb = {
name: 'cleanentriesdb' name: 'cleanentriesdb'
@@ -8,7 +8,8 @@ var cleanentriesdb = {
, pluginType: 'admin' , pluginType: 'admin'
}; };
function init() { function init(ctx) {
moment = ctx.moment;
return cleanentriesdb; return cleanentriesdb;
} }
+3 -2
View File
@@ -1,6 +1,6 @@
'use strict'; 'use strict';
var moment = require('moment'); var moment;
var cleanstatusdb = { var cleanstatusdb = {
name: 'cleanstatusdb' name: 'cleanstatusdb'
@@ -8,7 +8,8 @@ var cleanstatusdb = {
, pluginType: 'admin' , pluginType: 'admin'
}; };
function init () { function init (ctx) {
moment = ctx.moment;
return cleanstatusdb; return cleanstatusdb;
} }
+3 -2
View File
@@ -1,6 +1,6 @@
'use strict'; 'use strict';
var moment = require('moment'); var moment;
var cleantreatmentsdb = { var cleantreatmentsdb = {
name: 'cleantreatmentsdb' name: 'cleantreatmentsdb'
@@ -8,7 +8,8 @@ var cleantreatmentsdb = {
, pluginType: 'admin' , pluginType: 'admin'
}; };
function init() { function init(ctx) {
moment = ctx.moment;
return cleantreatmentsdb; return cleantreatmentsdb;
} }
+7 -7
View File
@@ -3,14 +3,14 @@
var _find = require('lodash/find'); var _find = require('lodash/find');
var _each = require('lodash/each'); var _each = require('lodash/each');
function init() { function init(ctx) {
var allPlugins = [ var allPlugins = [
require('./subjects')() require('./subjects')(ctx)
, require('./roles')() , require('./roles')(ctx)
, require('./cleanstatusdb')() , require('./cleanstatusdb')(ctx)
, require('./cleantreatmentsdb')() , require('./cleantreatmentsdb')(ctx)
, require('./cleanentriesdb')() , require('./cleanentriesdb')(ctx)
, require('./futureitems')() , require('./futureitems')(ctx)
]; ];
function plugins(name) { function plugins(name) {
+5 -7
View File
@@ -1,7 +1,6 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment-timezone');
var times = require('../times'); var times = require('../times');
var Storages = require('js-storage'); var Storages = require('js-storage');
@@ -46,9 +45,9 @@ function init (client, $) {
} }
function setDateAndTime (time) { function setDateAndTime (time) {
time = time || moment(); time = time || new Date();
eventTime.val(time.format('HH:mm')); eventTime.val(time.getHours() + ":" + time.getMinutes());
eventDate.val(time.format('YYYY-MM-DD')); eventDate.val(time.toISOString().split('T')[0]);
} }
function mergeDateAndTime () { function mergeDateAndTime () {
@@ -125,16 +124,15 @@ function init (client, $) {
boluscalc.calculateInsulin(); boluscalc.calculateInsulin();
maybePrevent(event); maybePrevent(event);
// Nightscout.utils.updateBrushToTime(moment.toDate());
}; };
boluscalc.eventTimeTypeChange = function eventTimeTypeChange (event) { boluscalc.eventTimeTypeChange = function eventTimeTypeChange (event) {
if ($('#bc_othertime').is(':checked')) { if ($('#bc_othertime').is(':checked')) {
$('#bc_eventTimeValue').focus(); $('#bc_eventTimeValue').focus();
$('#bc_retro').css('display', ''); $('#bc_retro').css('display', '');
if (mergeDateAndTime() < moment()) { if (mergeDateAndTime() < Date.now()) {
$('#bc_retro').css('background-color', 'red').text(translate('RETRO MODE')); $('#bc_retro').css('background-color', 'red').text(translate('RETRO MODE'));
} else if (mergeDateAndTime() > moment()) { } else if (mergeDateAndTime() > Date.now()) {
$('#bc_retro').css('background-color', 'blue').text(translate('IN THE FUTURE')); $('#bc_retro').css('background-color', 'blue').text(translate('IN THE FUTURE'));
} else { } else {
$('#bc_retro').css('display', 'none'); $('#bc_retro').css('display', 'none');
+3 -4
View File
@@ -1,6 +1,5 @@
'use strict'; 'use strict';
var moment = require('moment-timezone');
var _ = require('lodash'); var _ = require('lodash');
var parse_duration = require('parse-duration'); // https://www.npmjs.com/package/parse-duration var parse_duration = require('parse-duration'); // https://www.npmjs.com/package/parse-duration
var times = require('../times'); var times = require('../times');
@@ -18,9 +17,9 @@ function init (client, $) {
var eventDate = $('#eventDateValue'); var eventDate = $('#eventDateValue');
function setDateAndTime (time) { function setDateAndTime (time) {
time = time || moment(); time = time || client.ctx.moment();
eventTime.val(time.format('HH:mm')); eventTime.val(time.hours() + ":" + time.minutes());
eventDate.val(time.format('YYYY-MM-DD')); eventDate.val(time.toISOString().split('T')[0]);
} }
function mergeDateAndTime () { function mergeDateAndTime () {
+8 -1
View File
@@ -9,7 +9,6 @@ var Storages = require('js-storage');
var language = require('../language')(); var language = require('../language')();
var sandbox = require('../sandbox')(); var sandbox = require('../sandbox')();
var profile = require('../profilefunctions')();
var units = require('../units')(); var units = require('../units')();
var levels = require('../levels'); var levels = require('../levels');
var times = require('../times'); var times = require('../times');
@@ -18,6 +17,8 @@ var receiveDData = require('./receiveddata');
var brushing = false; var brushing = false;
var browserSettings; var browserSettings;
var moment = window.moment;
var timezones = moment.tz.names();
var client = {}; var client = {};
@@ -203,6 +204,7 @@ client.load = function load (serverSettings, callback) {
, extendedSettings: client.settings.extendedSettings , extendedSettings: client.settings.extendedSettings
, language: language , language: language
, levels: levels , levels: levels
, moment: moment
}).registerClientDefaults(); }).registerClientDefaults();
browserSettings.loadPluginSettings(client); browserSettings.loadPluginSettings(client);
@@ -210,6 +212,7 @@ client.load = function load (serverSettings, callback) {
client.utils = require('../utils')({ client.utils = require('../utils')({
settings: client.settings settings: client.settings
, language: language , language: language
, moment: moment
}); });
client.rawbg = client.plugins('rawbg'); client.rawbg = client.plugins('rawbg');
@@ -223,6 +226,8 @@ client.load = function load (serverSettings, callback) {
, bus: require('../bus')(client.settings, client.ctx) , bus: require('../bus')(client.settings, client.ctx)
, settings: client.settings , settings: client.settings
, pluginBase: client.plugins.base(majorPills, minorPills, statusPills, bgStatus, client.tooltip, Storages.localStorage) , pluginBase: client.plugins.base(majorPills, minorPills, statusPills, bgStatus, client.tooltip, Storages.localStorage)
, moment: moment
, timezones: timezones
}; };
client.ctx.language = language; client.ctx.language = language;
@@ -298,6 +303,8 @@ client.load = function load (serverSettings, callback) {
client.careportal = require('./careportal')(client, $); client.careportal = require('./careportal')(client, $);
client.boluscalc = require('./boluscalc')(client, $); client.boluscalc = require('./boluscalc')(client, $);
var profile = require('../profilefunctions')(null, client.ctx);
client.profilefunctions = profile; client.profilefunctions = profile;
client.editMode = false; client.editMode = false;
-1
View File
@@ -139,7 +139,6 @@ function init(env, ctx) {
}); });
console.info('Load Complete:\n\t', counts.join(', ')); console.info('Load Complete:\n\t', counts.join(', '));
done(err, result); done(err, result);
} }
+1 -1
View File
@@ -2,7 +2,6 @@
var _ = require('lodash'); var _ = require('lodash');
var times = require('../times'); var times = require('../times');
var moment = require('moment');
var BG_REF = 140; //Central tendency var BG_REF = 140; //Central tendency
var BG_MIN = 36; //Not 39, but why? var BG_MIN = 36; //Not 39, but why?
@@ -17,6 +16,7 @@ var AR2_COLOR = 'cyan';
function init (ctx) { function init (ctx) {
var translate = ctx.language.translate; var translate = ctx.language.translate;
var moment = ctx.moment;
var ar2 = { var ar2 = {
name: 'ar2' name: 'ar2'
+1 -1
View File
@@ -1,10 +1,10 @@
'use strict'; 'use strict';
var times = require('../times'); var times = require('../times');
var moment = require('moment');
var consts = require('../constants'); var consts = require('../constants');
var _ = require('lodash'); var _ = require('lodash');
function init (ctx) { function init (ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
+1 -1
View File
@@ -1,9 +1,9 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
function init(ctx) { function init(ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var levels = ctx.levels; var levels = ctx.levels;
+1 -1
View File
@@ -1,7 +1,6 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
var times = require('../times'); var times = require('../times');
var offset = times.mins(2.5).msecs; var offset = times.mins(2.5).msecs;
@@ -9,6 +8,7 @@ var bucketFields = ['index', 'fromMills', 'toMills'];
function init (ctx) { function init (ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var utils = require('../utils')(ctx); var utils = require('../utils')(ctx);
+1 -1
View File
@@ -1,9 +1,9 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
function init(ctx) { function init(ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var levels = ctx.levels; var levels = ctx.levels;
+1 -1
View File
@@ -1,10 +1,10 @@
'use strict'; 'use strict';
var _ = require('lodash') var _ = require('lodash')
, moment = require('moment')
, times = require('../times'); , times = require('../times');
function init (ctx) { function init (ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var iob = require('./iob')(ctx); var iob = require('./iob')(ctx);
+1 -1
View File
@@ -1,9 +1,9 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
function init(ctx) { function init(ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var levels = ctx.levels; var levels = ctx.levels;
+3 -3
View File
@@ -1,10 +1,10 @@
'use strict'; 'use strict';
var _ = require('lodash') const _ = require('lodash')
, moment = require('moment') const times = require('../times');
, times = require('../times');
function init(ctx) { function init(ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var utils = require('../utils')(ctx); var utils = require('../utils')(ctx);
+2 -1
View File
@@ -1,12 +1,13 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
var times = require('../times'); var times = require('../times');
// var ALL_STATUS_FIELDS = ['status-symbol', 'status-label', 'iob', 'freq', 'rssi']; Unused variable // var ALL_STATUS_FIELDS = ['status-symbol', 'status-label', 'iob', 'freq', 'rssi']; Unused variable
function init (ctx) { function init (ctx) {
var moment = ctx.moment;
var utils = require('../utils')(ctx); var utils = require('../utils')(ctx);
var translate = ctx.language.translate; var translate = ctx.language.translate;
var levels = ctx.levels; var levels = ctx.levels;
+1 -1
View File
@@ -1,13 +1,13 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
var times = require('../times'); var times = require('../times');
var consts = require('../constants'); var consts = require('../constants');
// var ALL_STATUS_FIELDS = ['status-symbol', 'status-label', 'iob', 'meal-assist', 'freq', 'rssi']; Unused variable // var ALL_STATUS_FIELDS = ['status-symbol', 'status-label', 'iob', 'meal-assist', 'freq', 'rssi']; Unused variable
function init (ctx) { function init (ctx) {
var moment = ctx.moment;
var utils = require('../utils')(ctx); var utils = require('../utils')(ctx);
var openaps = { var openaps = {
name: 'openaps' name: 'openaps'
+1 -1
View File
@@ -1,12 +1,12 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
var times = require('../times'); var times = require('../times');
var ALL_STATUS_FIELDS = ['reservoir', 'battery', 'clock', 'status', 'device']; var ALL_STATUS_FIELDS = ['reservoir', 'battery', 'clock', 'status', 'device'];
function init (ctx) { function init (ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var timeago = require('./timeago')(ctx); var timeago = require('./timeago')(ctx);
var openaps = require('./openaps')(ctx); var openaps = require('./openaps')(ctx);
+1 -1
View File
@@ -1,10 +1,10 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
var times = require('../times'); var times = require('../times');
function init(ctx) { function init(ctx) {
var moment = ctx.moment;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var levels = ctx.levels; var levels = ctx.levels;
+2 -1
View File
@@ -1,9 +1,10 @@
'use strict'; 'use strict';
var moment = require('moment');
var _each = require('lodash/each'); var _each = require('lodash/each');
function init(env, ctx) { function init(env, ctx) {
var moment = ctx.moment;
function virtAsstBase() { function virtAsstBase() {
return virtAsstBase; return virtAsstBase;
} }
+1 -1
View File
@@ -1,10 +1,10 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment');
var times = require('../times'); var times = require('../times');
function init(ctx) { function init(ctx) {
var moment = ctx.moment;
var levels = ctx.levels; var levels = ctx.levels;
var utils = require('../utils')(ctx); var utils = require('../utils')(ctx);
var firstPrefs = true; var firstPrefs = true;
+5 -6
View File
@@ -4,7 +4,6 @@ var init = function init () {
//for the tests window isn't the global object //for the tests window isn't the global object
var $ = window.$; var $ = window.$;
var _ = window._; var _ = window._;
var moment = window.moment;
var Nightscout = window.Nightscout; var Nightscout = window.Nightscout;
var client = Nightscout.client; var client = Nightscout.client;
@@ -157,7 +156,7 @@ var init = function init () {
// Load timezones // Load timezones
timezoneInput.empty(); timezoneInput.empty();
moment.tz.names().forEach(function addTz(tz) { client.ctx.timezones.forEach(function addTz(tz) {
timezoneInput.append('<option value="' + tz + '">' + tz + '</option>'); timezoneInput.append('<option value="' + tz + '">' + tz + '</option>');
}); });
@@ -198,8 +197,8 @@ var init = function init () {
} }
databaseRecords.val(currentrecord); databaseRecords.val(currentrecord);
timeInput.val(moment(mongorecords[currentrecord].startDate).format('HH:mm')); timeInput.val(client.ctx.moment(mongorecords[currentrecord].startDate).format('HH:mm'));
dateInput.val(moment(mongorecords[currentrecord].startDate).format('YYYY-MM-DD')); dateInput.val(client.ctx.moment(mongorecords[currentrecord].startDate).format('YYYY-MM-DD'));
initProfile(); initProfile();
} }
@@ -635,11 +634,11 @@ var init = function init () {
} }
function toTimeString(minfrommidnight) { function toTimeString(minfrommidnight) {
return moment.utc().startOf('day').add(minfrommidnight,'minutes').format('HH:mm'); // using utc to avoid daylight saving offset return client.ctx.moment.utc().startOf('day').add(minfrommidnight,'minutes').format('HH:mm'); // using utc to avoid daylight saving offset
} }
function toDisplayTime (minfrommidnight) { function toDisplayTime (minfrommidnight) {
var time = moment.utc().startOf('day').add(minfrommidnight,'minutes'); // using utc to avoid daylight saving offset var time = client.ctx.moment.utc().startOf('day').add(minfrommidnight,'minutes'); // using utc to avoid daylight saving offset
return client.settings.timeFormat === 24 ? time.format('HH:mm') : time.format('h:mm A'); return client.settings.timeFormat === 24 ? time.format('HH:mm') : time.format('h:mm A');
} }
+3 -2
View File
@@ -1,14 +1,15 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment-timezone');
var c = require('memory-cache'); var c = require('memory-cache');
var times = require('./times'); var times = require('./times');
var cacheTTL = 5000; var cacheTTL = 5000;
var prevBasalTreatment = null; var prevBasalTreatment = null;
function init (profileData) { function init (profileData, ctx) {
var moment = ctx.moment;
var cache = new c.Cache(); var cache = new c.Cache();
var profile = {}; var profile = {};
+2 -1
View File
@@ -4,7 +4,6 @@ var init = function init () {
//for the tests window isn't the global object //for the tests window isn't the global object
var $ = window.$; var $ = window.$;
var _ = window._; var _ = window._;
var moment = window.moment;
var Nightscout = window.Nightscout; var Nightscout = window.Nightscout;
var client = Nightscout.client; var client = Nightscout.client;
var report_plugins_preinit = Nightscout.report_plugins_preinit; var report_plugins_preinit = Nightscout.report_plugins_preinit;
@@ -12,6 +11,8 @@ var init = function init () {
client.init(function loaded () { client.init(function loaded () {
var moment = client.ctx.moment;
report_plugins = report_plugins_preinit(client.ctx); report_plugins = report_plugins_preinit(client.ctx);
Nightscout.report_plugins = report_plugins; Nightscout.report_plugins = report_plugins;
+1 -1
View File
@@ -55,7 +55,7 @@ function init () {
sbx.language = ctx.language; sbx.language = ctx.language;
sbx.translate = ctx.language.translate; sbx.translate = ctx.language.translate;
var profile = require('./profilefunctions')(); var profile = require('./profilefunctions')(null, ctx);
//Plugins will expect the right profile based on time //Plugins will expect the right profile based on time
profile.loadData(_.cloneDeep(ctx.ddata.profiles)); profile.loadData(_.cloneDeep(ctx.ddata.profiles));
profile.updateTreatments(ctx.ddata.profileTreatments, ctx.ddata.tempbasalTreatments, ctx.ddata.combobolusTreatments); profile.updateTreatments(ctx.ddata.profileTreatments, ctx.ddata.tempbasalTreatments, ctx.ddata.combobolusTreatments);
+3 -1
View File
@@ -9,6 +9,7 @@ function boot (env, language) {
console.log('Executing startBoot'); console.log('Executing startBoot');
ctx.moment = require('moment-timezone');
ctx.runtimeState = 'booting'; ctx.runtimeState = 'booting';
ctx.settings = env.settings; ctx.settings = env.settings;
ctx.bus = require('../bus')(env.settings, ctx); ctx.bus = require('../bus')(env.settings, ctx);
@@ -211,6 +212,7 @@ function boot (env, language) {
settings: env.settings settings: env.settings
, language: ctx.language , language: ctx.language
, levels: ctx.levels , levels: ctx.levels
, moment: ctx.moment
}).registerServerDefaults(); }).registerServerDefaults();
ctx.wares = require('../middleware/')(env); ctx.wares = require('../middleware/')(env);
@@ -271,7 +273,7 @@ function boot (env, language) {
function setupListeners (ctx, next) { function setupListeners (ctx, next) {
console.log('Executing setupListeners'); console.log('Executing setupListeners');
if (hasBootErrors(ctx)) { if (hasBootErrors(ctx)) {
return next(); return next();
} }
+1 -2
View File
@@ -1,12 +1,11 @@
'use strict'; 'use strict';
var _ = require('lodash'); var _ = require('lodash');
var moment = require('moment-timezone');
var units = require('./units')(); var units = require('./units')();
function init(ctx) { function init(ctx) {
var moment = ctx.moment;
var settings = ctx.settings; var settings = ctx.settings;
var translate = ctx.language.translate; var translate = ctx.language.translate;
var timeago = require('./plugins/timeago')(ctx); var timeago = require('./plugins/timeago')(ctx);
+9 -14
View File
@@ -1,21 +1,16 @@
'use strict'; 'use strict';
const should = require('should'); const should = require('should');
const levels = require('../lib/levels'); const helper = require('./inithelper')();
const fs = require('fs');
const FIVE_MINS = 300000; const FIVE_MINS = 300000;
const SIX_MINS = 360000; const SIX_MINS = 360000;
describe('ar2', function ( ) { describe('ar2', function ( ) {
var ctx = { var ctx = helper.getctx();
settings: {}
, language: require('../lib/language')(fs)
, levels: levels
};
ctx.ddata = require('../lib/data/ddata')(); ctx.ddata = require('../lib/data/ddata')();
ctx.notifications = require('../lib/notifications')(env, ctx); ctx.notifications = require('../lib/notifications')(env, ctx);
ctx.levels = levels;
var ar2 = require('../lib/plugins/ar2')(ctx); var ar2 = require('../lib/plugins/ar2')(ctx);
var bgnow = require('../lib/plugins/bgnow')(ctx); var bgnow = require('../lib/plugins/bgnow')(ctx);
@@ -75,7 +70,7 @@ describe('ar2', function ( ) {
}); });
ar2.checkNotifications(sbx); ar2.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm(); var highest = ctx.notifications.findHighestAlarm();
highest.level.should.equal(levels.WARN); highest.level.should.equal(helper.ctx.levels.WARN);
highest.title.should.equal('Warning, HIGH predicted'); highest.title.should.equal('Warning, HIGH predicted');
highest.message.should.equal('BG Now: 170 +20 ↗ mg/dl\nBG 15m: 206 mg/dl\nIOB: 1.25U'); highest.message.should.equal('BG Now: 170 +20 ↗ mg/dl\nBG 15m: 206 mg/dl\nIOB: 1.25U');
@@ -89,7 +84,7 @@ describe('ar2', function ( ) {
var sbx = prepareSandbox(); var sbx = prepareSandbox();
ar2.checkNotifications(sbx); ar2.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm(); var highest = ctx.notifications.findHighestAlarm();
highest.level.should.equal(levels.URGENT); highest.level.should.equal(helper.ctx.levels.URGENT);
highest.title.should.equal('Urgent, HIGH'); highest.title.should.equal('Urgent, HIGH');
done(); done();
@@ -102,7 +97,7 @@ describe('ar2', function ( ) {
var sbx = prepareSandbox(); var sbx = prepareSandbox();
ar2.checkNotifications(sbx); ar2.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm(); var highest = ctx.notifications.findHighestAlarm();
highest.level.should.equal(levels.WARN); highest.level.should.equal(helper.ctx.levels.WARN);
highest.title.should.equal('Warning, LOW'); highest.title.should.equal('Warning, LOW');
done(); done();
@@ -115,7 +110,7 @@ describe('ar2', function ( ) {
var sbx = prepareSandbox(); var sbx = prepareSandbox();
ar2.checkNotifications(sbx); ar2.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm(); var highest = ctx.notifications.findHighestAlarm();
highest.level.should.equal(levels.WARN); highest.level.should.equal(helper.ctx.levels.WARN);
highest.title.should.equal('Warning, LOW predicted'); highest.title.should.equal('Warning, LOW predicted');
done(); done();
@@ -128,7 +123,7 @@ describe('ar2', function ( ) {
var sbx = prepareSandbox(); var sbx = prepareSandbox();
ar2.checkNotifications(sbx); ar2.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm(); var highest = ctx.notifications.findHighestAlarm();
highest.level.should.equal(levels.URGENT); highest.level.should.equal(helper.ctx.levels.URGENT);
highest.title.should.equal('Urgent, LOW predicted'); highest.title.should.equal('Urgent, LOW predicted');
done(); done();
@@ -143,7 +138,7 @@ describe('ar2', function ( ) {
var sbx = prepareSandbox(); var sbx = prepareSandbox();
ar2.checkNotifications(sbx); ar2.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm(); var highest = ctx.notifications.findHighestAlarm();
highest.level.should.equal(levels.WARN); highest.level.should.equal(helper.ctx.levels.WARN);
highest.title.should.equal('Warning, LOW predicted'); highest.title.should.equal('Warning, LOW predicted');
done(); done();
+7 -4
View File
@@ -2,6 +2,8 @@ const should = require('should');
const fs = require('fs'); const fs = require('fs');
const language = require('../lib/language')(fs); const language = require('../lib/language')(fs);
const helper = require('./inithelper')();
describe('basalprofile', function ( ) { describe('basalprofile', function ( ) {
var sandbox = require('../lib/sandbox')(); var sandbox = require('../lib/sandbox')();
@@ -51,8 +53,7 @@ describe('basalprofile', function ( ) {
] ]
}; };
var profile = require('../lib/profilefunctions')([profileData], helper.ctx);
var profile = require('../lib/profilefunctions')([profileData]);
it('update basal profile pill', function (done) { it('update basal profile pill', function (done) {
var data = {}; var data = {};
@@ -68,7 +69,9 @@ describe('basalprofile', function ( ) {
, language: language , language: language
}; };
var time = new Date('2015-06-21T00:00:00+00:00').getTime(); var time = new Date('2015-06-21T00:00:00+00:00');
console.log('TIME1', time);
var sbx = sandbox.clientInit(ctx, time, data); var sbx = sandbox.clientInit(ctx, time, data);
sbx.data.profile = profile; sbx.data.profile = profile;
@@ -86,7 +89,7 @@ describe('basalprofile', function ( ) {
, language: language , language: language
}; };
var time = new Date('2015-06-21T00:00:00+00:00').getTime(); var time = new Date('2015-06-21T00:00:00+00:00');
var sbx = sandbox.clientInit(ctx, time, data); var sbx = sandbox.clientInit(ctx, time, data);
sbx.data.profile = profile; sbx.data.profile = profile;
+7 -6
View File
@@ -2,17 +2,14 @@
var should = require('should'); var should = require('should');
var _ = require('lodash'); var _ = require('lodash');
const helper = require('./inithelper')();
var FIVE_MINS = 300000; var FIVE_MINS = 300000;
var SIX_MINS = 360000; var SIX_MINS = 360000;
describe('BG Now', function ( ) { describe('BG Now', function ( ) {
var ctx = {
language: require('../lib/language')() const ctx = helper.ctx;
, settings: require('../lib/settings')()
};
ctx.levels = require('../lib/levels');
var bgnow = require('../lib/plugins/bgnow')(ctx); var bgnow = require('../lib/plugins/bgnow')(ctx);
var sandbox = require('../lib/sandbox')(ctx); var sandbox = require('../lib/sandbox')(ctx);
@@ -70,6 +67,7 @@ describe('BG Now', function ( ) {
} }
} }
, language: require('../lib/language')() , language: require('../lib/language')()
, moment: helper.ctx.moment
}; };
var sbx = sandbox.clientInit(ctx, now, data); var sbx = sandbox.clientInit(ctx, now, data);
@@ -92,6 +90,7 @@ describe('BG Now', function ( ) {
} }
, pluginBase: {} , pluginBase: {}
, language: require('../lib/language')() , language: require('../lib/language')()
, moment: helper.ctx.moment
}; };
var data = {sgvs: [{mills: before, mgdl: 100}, {mills: now, mgdl: 105}]}; var data = {sgvs: [{mills: before, mgdl: 100}, {mills: now, mgdl: 105}]};
@@ -137,6 +136,7 @@ describe('BG Now', function ( ) {
} }
, pluginBase: {} , pluginBase: {}
, language: require('../lib/language')() , language: require('../lib/language')()
, moment: helper.ctx.moment
}; };
var data = {sgvs: [{mills: before, mgdl: 85}, {mills: now, mgdl: 85}]}; var data = {sgvs: [{mills: before, mgdl: 85}, {mills: now, mgdl: 85}]};
@@ -183,6 +183,7 @@ describe('BG Now', function ( ) {
} }
, pluginBase: {} , pluginBase: {}
, language: require('../lib/language')() , language: require('../lib/language')()
, moment: helper.ctx.moment
}; };
var data = {sgvs: [{mills: before - SIX_MINS, mgdl: 100}, {mills: now, mgdl: 105}]}; var data = {sgvs: [{mills: before - SIX_MINS, mgdl: 100}, {mills: now, mgdl: 105}]};
+11 -12
View File
@@ -1,16 +1,13 @@
var should = require('should'); var should = require('should');
var Stream = require('stream'); var Stream = require('stream');
var levels = require('../lib/levels'); const helper = require('./inithelper')();
describe('boluswizardpreview', function ( ) { describe('boluswizardpreview', function ( ) {
var env = require('../lib/server/env')(); var env = require('../lib/server/env')();
env.testMode = true; env.testMode = true;
var ctx = { var ctx = helper.getctx();
settings: {}
, language: require('../lib/language')()
, levels: levels
};
ctx.ddata = require('../lib/data/ddata')(); ctx.ddata = require('../lib/data/ddata')();
ctx.notifications = require('../lib/notifications')(env, ctx); ctx.notifications = require('../lib/notifications')(env, ctx);
@@ -138,6 +135,7 @@ describe('boluswizardpreview', function ( ) {
units: 'mmol' units: 'mmol'
} }
, pluginBase: {} , pluginBase: {}
, moment: helper.ctx.moment
}; };
ctx.language = require('../lib/language')(); ctx.language = require('../lib/language')();
@@ -145,7 +143,7 @@ describe('boluswizardpreview', function ( ) {
var data = {sgvs: [{mills: before, mgdl: 100}, {mills: now, mgdl: 100}]}; var data = {sgvs: [{mills: before, mgdl: 100}, {mills: now, mgdl: 100}]};
data.treatments = [{mills: now, insulin: '1.0'}]; data.treatments = [{mills: now, insulin: '1.0'}];
data.devicestatus = []; data.devicestatus = [];
data.profile = require('../lib/profilefunctions')([profileData]); data.profile = require('../lib/profilefunctions')([profileData], ctx);
var sbx = sandbox.clientInit(ctx, Date.now(), data); var sbx = sandbox.clientInit(ctx, Date.now(), data);
sbx.properties.iob = iob.calcTotal(data.treatments, data.devicestatus, data.profile, now); sbx.properties.iob = iob.calcTotal(data.treatments, data.devicestatus, data.profile, now);
@@ -181,6 +179,7 @@ describe('boluswizardpreview', function ( ) {
units: 'mmol' units: 'mmol'
} }
, pluginBase: {} , pluginBase: {}
, moment: helper.ctx.moment
}; };
ctx.language = require('../lib/language')(); ctx.language = require('../lib/language')();
@@ -188,7 +187,7 @@ describe('boluswizardpreview', function ( ) {
var data = {sgvs: [{mills: before, mgdl: 175}, {mills: now, mgdl: 153}]}; var data = {sgvs: [{mills: before, mgdl: 175}, {mills: now, mgdl: 153}]};
data.treatments = [{mills: now, insulin: '0.45'}]; data.treatments = [{mills: now, insulin: '0.45'}];
data.devicestatus = []; data.devicestatus = [];
data.profile = require('../lib/profilefunctions')([profileData]); data.profile = require('../lib/profilefunctions')([profileData], ctx);
var sbx = sandbox.clientInit(ctx, Date.now(), data); var sbx = sandbox.clientInit(ctx, Date.now(), data);
sbx.properties.iob = iob.calcTotal(data.treatments, data.devicestatus, data.profile, now); sbx.properties.iob = iob.calcTotal(data.treatments, data.devicestatus, data.profile, now);
@@ -229,7 +228,7 @@ describe('boluswizardpreview', function ( ) {
boluswizardpreview.checkNotifications(sbx); boluswizardpreview.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm(); var highest = ctx.notifications.findHighestAlarm();
highest.level.should.equal(levels.WARN); highest.level.should.equal(ctx.levels.WARN);
highest.title.should.equal('Warning, Check BG, time to bolus?'); highest.title.should.equal('Warning, Check BG, time to bolus?');
highest.message.should.equal('BG Now: 180 +5 ↗ mg/dl\nBG 15m: 187 mg/dl\nBWP: 0.66U'); highest.message.should.equal('BG Now: 180 +5 ↗ mg/dl\nBG 15m: 187 mg/dl\nBWP: 0.66U');
done(); done();
@@ -240,11 +239,10 @@ describe('boluswizardpreview', function ( ) {
ctx.ddata.sgvs = [{mills: before, mgdl: 295}, {mills: now, mgdl: 300}]; ctx.ddata.sgvs = [{mills: before, mgdl: 295}, {mills: now, mgdl: 300}];
ctx.ddata.treatments = []; ctx.ddata.treatments = [];
ctx.ddata.profiles = [profile]; ctx.ddata.profiles = [profile];
ctx.levels = require('../lib/levels');
var sbx = prepareSandbox(); var sbx = prepareSandbox();
boluswizardpreview.checkNotifications(sbx); boluswizardpreview.checkNotifications(sbx);
ctx.notifications.findHighestAlarm().level.should.equal(levels.URGENT); ctx.notifications.findHighestAlarm().level.should.equal(ctx.levels.URGENT);
done(); done();
}); });
@@ -285,10 +283,11 @@ describe('boluswizardpreview', function ( ) {
done(); done();
} }
} }
, moment: helper.ctx.moment
}; };
ctx.language = require('../lib/language')(); ctx.language = require('../lib/language')();
var loadedProfile = require('../lib/profilefunctions')(); var loadedProfile = require('../lib/profilefunctions')(null, ctx);
loadedProfile.loadData([profile]); loadedProfile.loadData([profile]);
var data = { var data = {
+5 -5
View File
@@ -1,16 +1,16 @@
'use strict'; 'use strict';
require('should'); require('should');
var levels = require('../lib/levels'); const helper = require('./inithelper')();
const levels = helper.ctx.levels;
describe('cage', function ( ) { describe('cage', function ( ) {
var env = require('../lib/server/env')(); var env = require('../lib/server/env')();
var ctx = {}; var ctx = helper.getctx();
ctx.ddata = require('../lib/data/ddata')(); ctx.ddata = require('../lib/data/ddata')();
ctx.notifications = require('../lib/notifications')(env, ctx); ctx.notifications = require('../lib/notifications')(env, ctx);
ctx.language = require('../lib/language')();
ctx.levels = levels;
var cage = require('../lib/plugins/cannulaage')(ctx); var cage = require('../lib/plugins/cannulaage')(ctx);
var sandbox = require('../lib/sandbox')(ctx); var sandbox = require('../lib/sandbox')(ctx);
function prepareSandbox ( ) { function prepareSandbox ( ) {
+3 -6
View File
@@ -1,15 +1,12 @@
'use strict'; 'use strict';
const _ = require('lodash'); const _ = require('lodash');
const fs = require('fs'); const helper = require('./inithelper')();
const language = require('../lib/language')(fs);
require('should'); require('should');
describe('COB', function ( ) { describe('COB', function ( ) {
var ctx = {}; var ctx = helper.ctx;
ctx.settings = {};
ctx.language = language;
var cob = require('../lib/plugins/cob')(ctx); var cob = require('../lib/plugins/cob')(ctx);
@@ -20,7 +17,7 @@ describe('COB', function ( ) {
, carbs_hr: 30 , carbs_hr: 30
}; };
var profile = require('../lib/profilefunctions')([profileData]); var profile = require('../lib/profilefunctions')([profileData], ctx);
it('should calculate IOB, multiple treatments', function() { it('should calculate IOB, multiple treatments', function() {
+24
View File
@@ -0,0 +1,24 @@
const fs = require('fs');
const moment = require('moment-timezone');
const language = require('../lib/language')(fs);
const settings = require('../lib/settings')();
const levels = require('../lib/levels');
function helper() {
helper.ctx = {
language: language
, settings: settings
, levels: levels
, moment: moment
};
helper.getctx = function getctx () {
return helper.ctx;
}
return helper;
}
module.exports = helper;
+3 -4
View File
@@ -1,15 +1,14 @@
'use strict'; 'use strict';
require('should'); require('should');
var levels = require('../lib/levels'); const helper = require('./inithelper')();
const levels = helper.ctx.levels;
describe('insulinage', function ( ) { describe('insulinage', function ( ) {
var env = require('../lib/server/env')(); var env = require('../lib/server/env')();
var ctx = {}; var ctx = helper.getctx();
ctx.levels = levels;
ctx.ddata = require('../lib/data/ddata')(); ctx.ddata = require('../lib/data/ddata')();
ctx.notifications = require('../lib/notifications')(env, ctx); ctx.notifications = require('../lib/notifications')(env, ctx);
ctx.language = require('../lib/language')();
var iage = require('../lib/plugins/insulinage')(ctx); var iage = require('../lib/plugins/insulinage')(ctx);
var sandbox = require('../lib/sandbox')(ctx); var sandbox = require('../lib/sandbox')(ctx);
+7 -7
View File
@@ -2,11 +2,12 @@
const _ = require('lodash'); const _ = require('lodash');
const should = require('should'); const should = require('should');
const fs = require('fs'); const helper = require('./inithelper')();
describe('IOB', function() { describe('IOB', function() {
var ctx = {};
ctx.language = require('../lib/language')(fs); let ctx = helper.ctx;
ctx.settings = require('../lib/settings')(); ctx.settings = require('../lib/settings')();
var iob = require('../lib/plugins/iob')(ctx); var iob = require('../lib/plugins/iob')(ctx);
@@ -55,7 +56,7 @@ describe('IOB', function() {
dia: 3, dia: 3,
sens: 0}; sens: 0};
var profile = require('../lib/profilefunctions')([profileData]); var profile = require('../lib/profilefunctions')([profileData], ctx);
var rightAfterBolus = iob.calcTotal(treatments, [], profile, time); var rightAfterBolus = iob.calcTotal(treatments, [], profile, time);
@@ -113,8 +114,7 @@ describe('IOB', function() {
dia: 4, dia: 4,
sens: 0}; sens: 0};
var profile = require('../lib/profilefunctions')([profileData]); var profile = require('../lib/profilefunctions')([profileData], ctx);
var rightAfterBolus = iob.calcTotal(treatments, [], profile, time); var rightAfterBolus = iob.calcTotal(treatments, [], profile, time);
@@ -140,7 +140,7 @@ describe('IOB', function() {
describe('from devicestatus', function () { describe('from devicestatus', function () {
var time = Date.now(); var time = Date.now();
var profile = require('../lib/profilefunctions')([{ dia: 3, sens: 0 }]); var profile = require('../lib/profilefunctions')([{ dia: 3, sens: 0 }], ctx);
var treatments = [{ var treatments = [{
mills: time - 1, mills: time - 1,
insulin: '3.00' insulin: '3.00'
+8 -13
View File
@@ -2,17 +2,12 @@
const _ = require('lodash'); const _ = require('lodash');
const should = require('should'); const should = require('should');
const moment = require('moment'); const helper = require('./inithelper')();
const fs = require('fs');
const language = require('../lib/language')(fs);
const levels = require('../lib/levels');
var ctx_top = { var ctx_top = helper.getctx();
language: language
, settings: require('../lib/settings')()
, levels: levels
};
ctx_top.language.set('en'); ctx_top.language.set('en');
const language = ctx_top.language;
var env = require('../lib/server/env')(); var env = require('../lib/server/env')();
var loop = require('../lib/plugins/loop')(ctx_top); var loop = require('../lib/plugins/loop')(ctx_top);
var sandbox = require('../lib/sandbox')(ctx_top); var sandbox = require('../lib/sandbox')(ctx_top);
@@ -107,10 +102,10 @@ var statuses = [
} }
]; ];
var now = moment(statuses[0].created_at); var now = ctx_top.moment(statuses[0].created_at);
_.forEach(statuses, function updateMills (status) { _.forEach(statuses, function updateMills (status) {
status.mills = moment(status.created_at).valueOf(); status.mills = ctx_top.moment(status.created_at).valueOf();
}); });
describe('loop', function ( ) { describe('loop', function ( ) {
@@ -174,7 +169,7 @@ describe('loop', function ( ) {
language: language language: language
}; };
var errorTime = moment(statuses[1].created_at); var errorTime = ctx_top.moment(statuses[1].created_at);
var sbx = sandbox.clientInit(ctx, errorTime.valueOf(), {devicestatus: statuses}); var sbx = sandbox.clientInit(ctx, errorTime.valueOf(), {devicestatus: statuses});
@@ -242,7 +237,7 @@ describe('loop', function ( ) {
loop.checkNotifications(sbx); loop.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm('Loop'); var highest = ctx.notifications.findHighestAlarm('Loop');
highest.level.should.equal(levels.URGENT); highest.level.should.equal(ctx_top.levels.URGENT);
highest.title.should.equal('Loop isn\'t looping'); highest.title.should.equal('Loop isn\'t looping');
done(); done();
}); });
+7 -11
View File
@@ -2,18 +2,14 @@
const _ = require('lodash'); const _ = require('lodash');
const should = require('should'); const should = require('should');
const moment = require('moment');
const fs = require('fs');
const language = require('../lib/language')(fs); const helper = require('./inithelper')();
var top_ctx = { var top_ctx = helper.getctx();
language: language
, settings: require('../lib/settings')()
};
top_ctx.language.set('en'); top_ctx.language.set('en');
var levels = require('../lib/levels'); const language = top_ctx.language;
top_ctx.levels = levels; const levels = top_ctx.levels;
var env = require('../lib/server/env')(); var env = require('../lib/server/env')();
var openaps = require('../lib/plugins/openaps')(top_ctx); var openaps = require('../lib/plugins/openaps')(top_ctx);
var sandbox = require('../lib/sandbox')(top_ctx); var sandbox = require('../lib/sandbox')(top_ctx);
@@ -247,10 +243,10 @@ var statuses = [{
"created_at": "2017-09-05T19:19:39.899Z" "created_at": "2017-09-05T19:19:39.899Z"
}]; }];
var now = moment(statuses[0].created_at); var now = top_ctx.moment(statuses[0].created_at);
_.forEach(statuses, function updateMills (status) { _.forEach(statuses, function updateMills (status) {
status.mills = moment(status.created_at).valueOf(); status.mills = top_ctx.moment(status.created_at).valueOf();
}); });
describe('openaps', function ( ) { describe('openaps', function ( ) {
+8 -6
View File
@@ -1,9 +1,11 @@
var should = require('should'); var should = require('should');
var moment = require('moment-timezone'); const helper = require('./inithelper')();
const moment = helper.ctx.moment;
describe('Profile', function ( ) { describe('Profile', function ( ) {
var profile_empty = require('../lib/profilefunctions')();
var profile_empty = require('../lib/profilefunctions')(null, helper.ctx);
beforeEach(function() { beforeEach(function() {
profile_empty.clear(); profile_empty.clear();
@@ -33,7 +35,7 @@ describe('Profile', function ( ) {
, 'target_high': 120 , 'target_high': 120
}; };
var profile = require('../lib/profilefunctions')([profileData]); var profile = require('../lib/profilefunctions')([profileData],helper.ctx);
var now = Date.now(); var now = Date.now();
it('should know what the DIA is with old style profiles', function() { it('should know what the DIA is with old style profiles', function() {
@@ -73,7 +75,7 @@ describe('Profile', function ( ) {
it('should know how to reload data and still know what the low target is with old style profiles', function() { it('should know how to reload data and still know what the low target is with old style profiles', function() {
var profile2 = require('../lib/profilefunctions')([profileData]); var profile2 = require('../lib/profilefunctions')([profileData], helper.ctx);
var profileData2 = { var profileData2 = {
'dia': 3, 'dia': 3,
'carbs_hr': 30, 'carbs_hr': 30,
@@ -157,7 +159,7 @@ describe('Profile', function ( ) {
'units': 'mmol' 'units': 'mmol'
}; };
var complexProfile = require('../lib/profilefunctions')([complexProfileData]); var complexProfile = require('../lib/profilefunctions')([complexProfileData], helper.ctx);
var noon = new Date('2015-06-22 12:00:00').getTime(); var noon = new Date('2015-06-22 12:00:00').getTime();
var threepm = new Date('2015-06-22 15:00:00').getTime(); var threepm = new Date('2015-06-22 15:00:00').getTime();
@@ -336,7 +338,7 @@ describe('Profile', function ( ) {
} }
]; ];
var multiProfile = require('../lib/profilefunctions')(multiProfileData); var multiProfile = require('../lib/profilefunctions')(multiProfileData, helper.ctx);
var noon = new Date('2015-06-22 12:00:00').getTime(); var noon = new Date('2015-06-22 12:00:00').getTime();
var threepm = new Date('2015-06-26 15:00:00').getTime(); var threepm = new Date('2015-06-26 15:00:00').getTime();
+9 -11
View File
@@ -2,19 +2,18 @@
var _ = require('lodash'); var _ = require('lodash');
var should = require('should'); var should = require('should');
var moment = require('moment'); const helper = require('./inithelper')();
const fs = require('fs'); const moment = helper.ctx.moment;
const language = require('../lib/language')(fs);
var top_ctx = { var top_ctx = helper.getctx();
language: language top_ctx.settings = require('../lib/settings')();
, settings: require('../lib/settings')()
};
top_ctx.language.set('en'); top_ctx.language.set('en');
var env = require('../lib/server/env')(); var env = require('../lib/server/env')();
var levels = require('../lib/levels'); const levels = top_ctx.levels;
var profile = require('../lib/profilefunctions')(); const language = top_ctx.language;
top_ctx.levels = levels;
var profile = require('../lib/profilefunctions')(null, top_ctx);
var pump = require('../lib/plugins/pump')(top_ctx); var pump = require('../lib/plugins/pump')(top_ctx);
var sandbox = require('../lib/sandbox')(top_ctx); var sandbox = require('../lib/sandbox')(top_ctx);
@@ -93,7 +92,6 @@ var statuses2 = [{
} }
}]; }];
var now = moment(statuses[1].created_at); var now = moment(statuses[1].created_at);
_.forEach(statuses, function updateMills (status) { _.forEach(statuses, function updateMills (status) {
+3 -5
View File
@@ -2,15 +2,13 @@
var should = require('should'); var should = require('should');
var times = require('../lib/times'); var times = require('../lib/times');
var levels = require('../lib/levels'); const helper = require('./inithelper')();
describe('sage', function ( ) { describe('sage', function ( ) {
var env = require('../lib/server/env')(); var env = require('../lib/server/env')();
var ctx = {}; var ctx = helper.getctx();
ctx.levels = levels;
ctx.ddata = require('../lib/data/ddata')(); ctx.ddata = require('../lib/data/ddata')();
ctx.notifications = require('../lib/notifications')(env, ctx); ctx.notifications = require('../lib/notifications')(env, ctx);
ctx.language = require('../lib/language')();
var sage = require('../lib/plugins/sensorage')(ctx); var sage = require('../lib/plugins/sensorage')(ctx);
var sandbox = require('../lib/sandbox')(); var sandbox = require('../lib/sandbox')();
@@ -152,7 +150,7 @@ describe('sage', function ( ) {
sage.checkNotifications(sbx); sage.checkNotifications(sbx);
var highest = ctx.notifications.findHighestAlarm('SAGE'); var highest = ctx.notifications.findHighestAlarm('SAGE');
highest.level.should.equal(levels.URGENT); highest.level.should.equal(ctx.levels.URGENT);
highest.title.should.equal('Sensor age 6 days 22 hours'); highest.title.should.equal('Sensor age 6 days 22 hours');
done(); done();
}); });
+11 -7
View File
@@ -2,14 +2,18 @@
require('should'); require('should');
const helper = require('./inithelper')();
describe('utils', function ( ) { describe('utils', function ( ) {
var utils = require('../lib/utils')({
language: require('../lib/language')() const ctx = helper.getctx();
, settings: {
alarmTimeagoUrgentMins: 30 ctx.settings = {
, alarmTimeagoWarnMins: 15 alarmTimeagoUrgentMins: 30
} , alarmTimeagoWarnMins: 15
}); };
var utils = require('../lib/utils')(ctx);
it('format numbers', function () { it('format numbers', function () {
utils.toFixed(5.499999999).should.equal('5.50'); utils.toFixed(5.499999999).should.equal('5.50');
+3 -1
View File
@@ -2,7 +2,7 @@ const path = require('path');
const webpack = require('webpack'); const webpack = require('webpack');
const pluginArray = []; const pluginArray = [];
const sourceMapType = 'source-map'; const sourceMapType = 'source-map';
const MomentTimezoneDataPlugin = require('moment-timezone-data-webpack-plugin'); //const MomentTimezoneDataPlugin = require('moment-timezone-data-webpack-plugin');
const projectRoot = path.resolve(__dirname, '..'); const projectRoot = path.resolve(__dirname, '..');
/* /*
@@ -56,12 +56,14 @@ pluginArray.push(new webpack.ProvidePlugin({
process: 'process/browser', process: 'process/browser',
})); }));
/*
// limit Timezone data from Moment // limit Timezone data from Moment
pluginArray.push(new MomentTimezoneDataPlugin({ pluginArray.push(new MomentTimezoneDataPlugin({
startYear: 2015, startYear: 2015,
endYear: 2035, endYear: 2035,
})); }));
*/
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
const ESLintPlugin = require('eslint-webpack-plugin'); const ESLintPlugin = require('eslint-webpack-plugin');