From fa415ad6f20f6db16c00d7b1f9c18cfc4a717f45 Mon Sep 17 00:00:00 2001
From: Guilhem CARRON <gcarron@grandlyon.com>
Date: Thu, 2 Dec 2021 10:02:04 +0000
Subject: [PATCH] fix(conso): Fix data offset delay issue and edit number of
 day displayed when outdated

---
 .../ConsumptionVisualizer/DataloadNoValue.tsx          |  4 ++--
 src/constants/config.json                              |  6 +++---
 src/services/dateChart.service.ts                      | 10 +++++-----
 src/services/timePeriod.service.spec.ts                |  8 ++++----
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/components/ConsumptionVisualizer/DataloadNoValue.tsx b/src/components/ConsumptionVisualizer/DataloadNoValue.tsx
index 8ae100b80..667bc7de6 100644
--- a/src/components/ConsumptionVisualizer/DataloadNoValue.tsx
+++ b/src/components/ConsumptionVisualizer/DataloadNoValue.tsx
@@ -62,8 +62,8 @@ const DataloadNoValue: React.FC<DataloadNoValueProps> = ({
 
   const getDataState = useCallback(() => {
     if (fluidType !== FluidType.MULTIFLUID) {
-      //J+3 for elec and J+5 for the other ==> dataDelayPffset + 3
-      const delay = fluidConfig[fluidType].dataDelayOffset + 3
+      //J+3 for elec and J+5 for the other
+      const delay = fluidConfig[fluidType].dataDelayOffset + 1
       const today = DateTime.local().setZone('utc', {
         keepLocalTime: true,
       })
diff --git a/src/constants/config.json b/src/constants/config.json
index edaa0a339..aca5acc83 100644
--- a/src/constants/config.json
+++ b/src/constants/config.json
@@ -4,7 +4,7 @@
       "fluidTypeId": 0,
       "name": "enedis",
       "coefficient": 0.1558,
-      "dataDelayOffset": 1,
+      "dataDelayOffset": 3,
       "konnectorConfig": {
         "name": "Enedis",
         "oauth": true,
@@ -17,7 +17,7 @@
       "fluidTypeId": 1,
       "name": "egl",
       "coefficient": 0.00319,
-      "dataDelayOffset": 3,
+      "dataDelayOffset": 5,
       "konnectorConfig": {
         "name": "Eau du Grand Lyon",
         "oauth": false,
@@ -30,7 +30,7 @@
       "fluidTypeId": 2,
       "name": "grdf",
       "coefficient": 0.1121,
-      "dataDelayOffset": 3,
+      "dataDelayOffset": 5,
       "konnectorConfig": {
         "name": "GRDF",
         "oauth": true,
diff --git a/src/services/dateChart.service.ts b/src/services/dateChart.service.ts
index b29c55e39..2d85d3fd2 100644
--- a/src/services/dateChart.service.ts
+++ b/src/services/dateChart.service.ts
@@ -312,19 +312,19 @@ export default class DateChartService {
       ).count('days')
     if (
       fluidType === FluidType.ELECTRICITY &&
-      inter <= fluidConfig[0].dataDelayOffset + 3
+      inter <= fluidConfig[0].dataDelayOffset + 1
     ) {
       return true
     }
     if (
       fluidType === FluidType.WATER &&
-      inter <= fluidConfig[1].dataDelayOffset + 3
+      inter <= fluidConfig[1].dataDelayOffset + 1
     ) {
       return true
     }
     if (
       fluidType === FluidType.GAS &&
-      inter <= fluidConfig[2].dataDelayOffset + 3
+      inter <= fluidConfig[2].dataDelayOffset + 1
     ) {
       return true
     } else {
@@ -382,9 +382,9 @@ export default class DateChartService {
         keepLocalTime: true,
       })
       const inter = Interval.fromDateTimes(date, today).count('days')
-      const limitDate = fluidConfig[fluidType].dataDelayOffset + 1
+      const limitDate = fluidConfig[fluidType].dataDelayOffset + 2
       if (inter > limitDate) {
-        return inter - limitDate
+        return inter - 2
       } else return null
     } else return null
   }
diff --git a/src/services/timePeriod.service.spec.ts b/src/services/timePeriod.service.spec.ts
index 87ce15daf..7cbc14501 100644
--- a/src/services/timePeriod.service.spec.ts
+++ b/src/services/timePeriod.service.spec.ts
@@ -108,18 +108,18 @@ describe('timePeriod service', () => {
     let fluidTypes: FluidType[] = [0, 1, 2]
     it('should return the offset day in function of the fluid', () => {
       let result = timePeriodService.calculateFluidTypesOffset(fluidTypes)
-      expect(result).toBe(3)
+      expect(result).toBe(5)
 
       fluidTypes = [0]
       result = timePeriodService.calculateFluidTypesOffset(fluidTypes)
-      expect(result).toBe(1)
+      expect(result).toBe(3)
       fluidTypes = [1]
       result = timePeriodService.calculateFluidTypesOffset(fluidTypes)
-      expect(result).toBe(3)
+      expect(result).toBe(5)
 
       fluidTypes = [2]
       result = timePeriodService.calculateFluidTypesOffset(fluidTypes)
-      expect(result).toBe(3)
+      expect(result).toBe(5)
     })
   })
   describe('applyOffsetToDate method', () => {
-- 
GitLab