From a49a084824110930187dd7f06edeb371fd4b1e50 Mon Sep 17 00:00:00 2001 From: Phinhas Asmelash Date: Fri, 14 Feb 2025 01:00:26 -0800 Subject: [PATCH 1/5] new test feature branch --- src/server/test/web/readingsCompareMeterQuantity.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/test/web/readingsCompareMeterQuantity.js b/src/server/test/web/readingsCompareMeterQuantity.js index a602f9993..b3872ae5b 100644 --- a/src/server/test/web/readingsCompareMeterQuantity.js +++ b/src/server/test/web/readingsCompareMeterQuantity.js @@ -155,6 +155,7 @@ mocha.describe('readings API', () => { }); // Add C9 here + // started working on this // Add C10 here From 24daa9aa2e7e7995879ab730dfb6c0b4dc39a232 Mon Sep 17 00:00:00 2001 From: Phinhas Asmelash Date: Sat, 15 Feb 2025 16:57:45 -0800 Subject: [PATCH 2/5] C9 test draft --- .../test/web/readingsCompareMeterQuantity.js | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/src/server/test/web/readingsCompareMeterQuantity.js b/src/server/test/web/readingsCompareMeterQuantity.js index b3872ae5b..fb04fccef 100644 --- a/src/server/test/web/readingsCompareMeterQuantity.js +++ b/src/server/test/web/readingsCompareMeterQuantity.js @@ -156,6 +156,77 @@ mocha.describe('readings API', () => { // Add C9 here // started working on this + mocha.it('C9: 1 day shift end 2022-10-31 17:00:00 for 15 minute reading intervals and Fahrenheit as Widghet', async () => { + // Use predefined unit and conversion data + const unitData = [ + // adding units u7, u8, u9 + { + // u7 + name: 'Degrees', + identifier: '', + unitRepresent: Unit.unitRepresentType.RAW, + secInRate: 3600, + typeOfUnit: Unit.unitType.METER, + suffix: '', + displayable: Unit.displayableType.NONE, + preferredDisplay: false, + note: 'special unit' + }, + { + // u8 + name: 'F', + identifier: '', + unitRepresent: Unit.unitRepresentType.RAW, + secInRate: 3600, + typeOfUnit: Unit.unitType.UNIT, + suffix: '', + displayable: Unit.displayableType.ALL, + preferredDisplay: false, + note: 'OED created standard unit' + }, + { + // u9 + name: 'Widget', + identifier: '', + unitRepresent: Unit.unitRepresentType.RAW, + secInRate: 3600, + typeOfUnit: Unit.unitType.UNIT, + suffix: '', + displayable: Unit.displayableType.ALL, + preferredDisplay: false, + note: 'fake unit' + } + ]; + const conversionData = conversionDatakWh.concat([ + { + sourceName: 'F', + destinationName: 'Widget', + bidirectional: true, + slope: 5, + intercept: 3, + note: 'Fahrenheit → Widget' + } + ]); + // Prepare test with the standard data + console.log('C9'); + await prepareTest(unitData, conversionData, meterDatakWh); + process.stdout.write(JSON.stringify(unitData)); + process.stdout.write(JSON.stringify(conversionData)); + process.stdout.write(JSON.stringify(meterDatakWh)); + // Get the unit ID since the DB could use any value. + const unitId = await getUnitId('Widget'); + const expected = [15972.58, 17319.62]; // how do we calculate this? readings_ri_15_days_75.csv maybe??? + // for compare, need the unitID, currentStart, currentEnd, shift + const res = await chai.request(app).get(`/api/compareReadings/meters/${METER_ID}`) + .query({ + curr_start: '2022-10-31 00:00:00', + curr_end: '2022-10-31 17:00:00', + shift: 'P1D', + graphicUnitId: unitId + }); + expectCompareToEqualExpected(res, expected); + }); + // Add C10 here From c6c360b969c819d7a254fd8a0795d17d7da71ab7 Mon Sep 17 00:00:00 2001 From: Phinhas Asmelash Date: Fri, 21 Feb 2025 20:09:42 -0800 Subject: [PATCH 3/5] =?UTF-8?q?=F0=9F=9A=80=20solved=20C9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sophia Alexander Co-authored-by: Aaron Lui --- .../test/web/readingsCompareMeterQuantity.js | 62 +++++-------------- 1 file changed, 16 insertions(+), 46 deletions(-) diff --git a/src/server/test/web/readingsCompareMeterQuantity.js b/src/server/test/web/readingsCompareMeterQuantity.js index fb04fccef..566593554 100644 --- a/src/server/test/web/readingsCompareMeterQuantity.js +++ b/src/server/test/web/readingsCompareMeterQuantity.js @@ -156,66 +156,36 @@ mocha.describe('readings API', () => { // Add C9 here // started working on this - mocha.it('C9: 1 day shift end 2022-10-31 17:00:00 for 15 minute reading intervals and Fahrenheit as Widghet', async () => { - // Use predefined unit and conversion data - const unitData = [ - // adding units u7, u8, u9 - { - // u7 - name: 'Degrees', - identifier: '', - unitRepresent: Unit.unitRepresentType.RAW, - secInRate: 3600, - typeOfUnit: Unit.unitType.METER, - suffix: '', - displayable: Unit.displayableType.NONE, - preferredDisplay: false, - note: 'special unit' - }, - { - // u8 - name: 'F', - identifier: '', - unitRepresent: Unit.unitRepresentType.RAW, - secInRate: 3600, - typeOfUnit: Unit.unitType.UNIT, - suffix: '', - displayable: Unit.displayableType.ALL, - preferredDisplay: false, - note: 'OED created standard unit' - }, + mocha.it('C9: 1 day shift end 2022-10-31 17:00:00 for 15 minute reading intervals and quantity units & kWh as MJ reverse conversion', async () => { + // add u3 to existing unitData + const unitData = unitDatakWh.concat([ { - // u9 - name: 'Widget', - identifier: '', - unitRepresent: Unit.unitRepresentType.RAW, + name: 'MJ', + identifier: 'megaJoules', + unitRepresent: Unit.unitRepresentType.QUANTITY, secInRate: 3600, typeOfUnit: Unit.unitType.UNIT, suffix: '', displayable: Unit.displayableType.ALL, preferredDisplay: false, - note: 'fake unit' + note: 'MJ' } - ]; + ]); + // add c2 to existing conversionData const conversionData = conversionDatakWh.concat([ { - sourceName: 'F', - destinationName: 'Widget', + sourceName: 'kWh', + destinationName: 'MJ', bidirectional: true, - slope: 5, - intercept: 3, - note: 'Fahrenheit → Widget' + slope: 3.6, + intercept: 0, + note: 'kWh → MJ' } ]); - // Prepare test with the standard data - console.log('C9'); await prepareTest(unitData, conversionData, meterDatakWh); - process.stdout.write(JSON.stringify(unitData)); - process.stdout.write(JSON.stringify(conversionData)); - process.stdout.write(JSON.stringify(meterDatakWh)); // Get the unit ID since the DB could use any value. - const unitId = await getUnitId('Widget'); - const expected = [15972.58, 17319.62]; // how do we calculate this? readings_ri_15_days_75.csv maybe??? + const unitId = await getUnitId('MJ'); + const expected = [11232.0660730344, 12123.0051081528]; // for compare, need the unitID, currentStart, currentEnd, shift const res = await chai.request(app).get(`/api/compareReadings/meters/${METER_ID}`) .query({ From 11306e7693ae58aed56f2f7aa35de147c66c484a Mon Sep 17 00:00:00 2001 From: Phinhas Asmelash Date: Fri, 21 Feb 2025 20:27:40 -0800 Subject: [PATCH 4/5] =?UTF-8?q?=F0=9F=9A=80=20added=20C9=20test=20case=20C?= =?UTF-8?q?o-authored-by:=20Sophia=20Alexander=20=20Co-authored-by:=20Aaron=20Lui=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/test/web/readingsCompareMeterQuantity.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/server/test/web/readingsCompareMeterQuantity.js b/src/server/test/web/readingsCompareMeterQuantity.js index eb04dbd33..549e4f5d3 100644 --- a/src/server/test/web/readingsCompareMeterQuantity.js +++ b/src/server/test/web/readingsCompareMeterQuantity.js @@ -154,8 +154,6 @@ mocha.describe('readings API', () => { expectCompareToEqualExpected(res, expected); }); - // Add C9 here - // started working on this mocha.it('C9: 1 day shift end 2022-10-31 17:00:00 for 15 minute reading intervals and quantity units & kWh as MJ reverse conversion', async () => { // add u3 to existing unitData const unitData = unitDatakWh.concat([ From 829727228901aba5a5d195a36299d9908859eae4 Mon Sep 17 00:00:00 2001 From: Steven Huss-Lederman Date: Sun, 23 Feb 2025 08:02:31 -0600 Subject: [PATCH 5/5] make conversion reversed I accidentally forgot to use the reversed conversion in the design doc. This fixes the test case to do that. This is not the doing of the developers. --- src/server/test/web/readingsCompareMeterQuantity.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/test/web/readingsCompareMeterQuantity.js b/src/server/test/web/readingsCompareMeterQuantity.js index b63910fc9..be694634b 100644 --- a/src/server/test/web/readingsCompareMeterQuantity.js +++ b/src/server/test/web/readingsCompareMeterQuantity.js @@ -172,12 +172,12 @@ mocha.describe('readings API', () => { // add c2 to existing conversionData const conversionData = conversionDatakWh.concat([ { - sourceName: 'kWh', - destinationName: 'MJ', + sourceName: 'MJ', + destinationName: 'kWh', bidirectional: true, - slope: 3.6, + slope: 1 / 3.6, intercept: 0, - note: 'kWh → MJ' + note: 'MJ → kWh' } ]); await prepareTest(unitData, conversionData, meterDatakWh);