From f51fac96230a885b543a75a123502c4ce2bf83c9 Mon Sep 17 00:00:00 2001 From: Ben West Date: Mon, 23 Jan 2023 08:45:10 -0800 Subject: [PATCH] clock at the end of the day is 23:59:59.999 Ensure that the test fixtures will return; the previous changes correctly forward the time to end of day across zones and datelines. One side effect is that the date formatted for the end of the day uses all the microseconds for the day as well. This changes the query from the form of 23:59:59.000Z to 23:59:59.999Z. This also ensures that anything that happens during that one second will be included rather than excluded. --- lib/report/reportclient.js | 4 ++-- tests/reports.test.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/report/reportclient.js b/lib/report/reportclient.js index 669080de526..1ed76a6b524 100644 --- a/lib/report/reportclient.js +++ b/lib/report/reportclient.js @@ -258,8 +258,8 @@ var init = function init () { function datefilter () { if ($('#rp_enabledate').is(':checked')) { matchesneeded++; - var from = moment.tz($('#rp_from').val().replace(/\//g, '-') + 'T00:00:00', zone); - var to = moment.tz($('#rp_to').val().replace(/\//g, '-') + 'T23:59:59', zone); + var from = moment.tz(moment($('#rp_from').val()).startOf('day'), zone).startOf('day'); + var to = moment.tz(moment($('#rp_to').val()).startOf('day'), zone).endOf('day'); timerange = '&find[created_at][$gte]=' + from.toISOString() + '&find[created_at][$lt]=' + to.toISOString(); console.log('DATEFILTER', zone, timerange); diff --git a/tests/reports.test.js b/tests/reports.test.js index 947eb5e5b03..3ff2f882334 100644 --- a/tests/reports.test.js +++ b/tests/reports.test.js @@ -30,7 +30,7 @@ var someData = { '/api/v1/treatments.json?find[created_at][$gte]=2015-08-14T00:00:00.000Z&find[created_at][$lt]=2015-08-15T00:00:00.000Z&count=1000': [{'enteredBy':'Dad','eventType':'Site Change','glucose':268,'glucoseType':'Finger','insulin':1.75,'units':'mg/dl','created_at':'2015-08-14T00:00:00.000Z','_id':'55ce78fe925aa80e7071e5d6'},{'enteredBy':'Mom ','eventType':'Meal Bolus','glucose':89,'glucoseType':'Finger','carbs':54,'insulin':3.15,'units':'mg/dl','created_at':'2015-08-14T21:00:00.000Z','_id':'55ce59bb925aa80e7071e5ba'}], '/api/v1/entries.json?find[date][$gte]=1439596800000&find[date][$lt]=1439683200000&count=10000': [{'_id':'55cfd25f38a8d88ad1b49931','unfiltered':283136,'filtered':304768,'direction':'SingleDown','device':'dexcom','rssi':185,'sgv':306,'dateString':'Sat Aug 15 16:58:16 PDT 2015','type':'sgv','date':1439683096000,'noise':1},{'_id':'55cfd13338a8d88ad1b4992e','unfiltered':302528,'filtered':312576,'direction':'FortyFiveDown','device':'dexcom','rssi':179,'sgv':329,'dateString':'Sat Aug 15 16:53:16 PDT 2015','type':'sgv','date':1439682796000,'noise':1}], '/api/v1/food/regular.json': [{'_id':'552ece84a6947ea011db35bb','type':'food','category':'Zakladni','subcategory':'Sladkosti','name':'Bebe male','portion':18,'carbs':12,'gi':1,'unit':'pcs','created_at':'2015-04-15T20:48:04.966Z'}], - '/api/v1/treatments.json?find[eventType]=/BG Check/i&find[created_at][$gte]=2015-08-08T00:00:00.000Z&find[created_at][$lt]=2015-09-07T23:59:59.000Z': [ + '/api/v1/treatments.json?find[eventType]=/BG Check/i&find[created_at][$gte]=2015-08-08T00:00:00.000Z&find[created_at][$lt]=2015-09-07T23:59:59.999Z': [ {'created_at':'2015-08-08T00:00:00.000Z'}, {'created_at':'2015-08-09T00:00:00.000Z'}, {'created_at':'2015-08-10T00:00:00.000Z'}, @@ -63,7 +63,7 @@ var someData = { {'created_at':'2015-09-06T00:00:00.000Z'}, {'created_at':'2015-09-07T00:00:00.000Z'} ], - '/api/v1/treatments.json?find[notes]=/something/i&find[created_at][$gte]=2015-08-08T00:00:00.000Z&find[created_at][$lt]=2015-09-07T23:59:59.000Z': [ + '/api/v1/treatments.json?find[notes]=/something/i&find[created_at][$gte]=2015-08-08T00:00:00.000Z&find[created_at][$lt]=2015-09-07T23:59:59.999Z': [ {'created_at':'2015-08-08T00:00:00.000Z'}, {'created_at':'2015-08-09T00:00:00.000Z'}, {'created_at':'2015-08-10T00:00:00.000Z'}, @@ -96,7 +96,7 @@ var someData = { {'created_at':'2015-09-06T00:00:00.000Z'}, {'created_at':'2015-09-07T00:00:00.000Z'} ], - '/api/v1/devicestatus.json&find[created_at][$gte]=2015-08-08T00:00:00.000Z&find[created_at][$lt]=2015-09-07T23:59:59.000Z?find[openaps][$exists]=true&count=1000': [ + '/api/v1/devicestatus.json&find[created_at][$gte]=2015-08-08T00:00:00.000Z&find[created_at][$lt]=2015-09-07T23:59:59.999Z?find[openaps][$exists]=true&count=1000': [ { 'openaps': { 'suggested': {