From 2706eaaac6bdbc02e7a4a67b46ddbe1aa593053c Mon Sep 17 00:00:00 2001 From: CD Cabrera Date: Thu, 18 Nov 2021 17:33:02 -0500 Subject: [PATCH] fix(rhsmSchemas): ent-4366 graph total display mismatch (#837) * dateHelpers, utc base * rhsmSchemas, adjust for utc date * rhsmTransformers, month-day-year current date check --- src/common/dateHelpers.js | 2 +- src/services/rhsm/rhsmSchemas.js | 4 ++-- src/services/rhsm/rhsmTranformers.js | 11 +++-------- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/common/dateHelpers.js b/src/common/dateHelpers.js index 839d5003a..978940417 100644 --- a/src/common/dateHelpers.js +++ b/src/common/dateHelpers.js @@ -13,7 +13,7 @@ const getCurrentDate = () => (helpers.DEV_MODE && process.env.REACT_APP_DEBUG_DEFAULT_DATETIME && moment.utc(process.env.REACT_APP_DEBUG_DEFAULT_DATETIME).toDate()) || - new Date(); + moment.utc().toDate(); /** * Set a date range based on a granularity type. diff --git a/src/services/rhsm/rhsmSchemas.js b/src/services/rhsm/rhsmSchemas.js index 6f1350194..08b996212 100644 --- a/src/services/rhsm/rhsmSchemas.js +++ b/src/services/rhsm/rhsmSchemas.js @@ -63,7 +63,7 @@ const instancesItem = Joi.object({ display_name: Joi.string().optional().allow(null), measurements: Joi.array().default([]), subscription_manager_id: Joi.string().optional().allow(null), - last_seen: Joi.date().allow(null) + last_seen: Joi.date().utc().allow(null) }) .unknown(true) .default(); @@ -85,7 +85,7 @@ const instancesResponseSchema = Joi.object().keys({ * @type {*} Joi schema */ const tallyItem = Joi.object({ - date: Joi.date().allow(null), + date: Joi.date().utc().allow(null), has_data: Joi.boolean().optional().allow(null), value: Joi.number().allow(null).default(0) }) diff --git a/src/services/rhsm/rhsmTranformers.js b/src/services/rhsm/rhsmTranformers.js index e7ce5672a..75409b7c9 100644 --- a/src/services/rhsm/rhsmTranformers.js +++ b/src/services/rhsm/rhsmTranformers.js @@ -1,3 +1,4 @@ +import moment from 'moment'; import { RHSM_API_RESPONSE_INSTANCES_DATA_TYPES as INSTANCES_DATA_TYPES, RHSM_API_RESPONSE_INSTANCES_META_TYPES as INSTANCES_META_TYPES, @@ -52,13 +53,7 @@ const rhsmTally = response => { const updatedResponse = {}; const { [rhsmConstants.RHSM_API_RESPONSE_DATA]: data = [], [rhsmConstants.RHSM_API_RESPONSE_META]: meta = {} } = response || {}; - /** - * FixMe: this is a potential bug - * Under RHOSAK this can't be seen because we're using a monthly range. However, under something like RHEL - * where a "quarterly range" that spans a year+ days of the month repeat. We need to match the full date - * instead of just the day. - */ - const currentDay = dateHelpers.getCurrentDate()?.getDate(); + const currentDay = moment.utc(dateHelpers.getCurrentDate()).format('MM-D-YYYY'); updatedResponse.data = data.map( ( @@ -69,7 +64,7 @@ const rhsmTally = response => { y: value, date, hasData, - isCurrentDate: date?.getDate() === currentDay + isCurrentDate: moment.utc(date).format('MM-D-YYYY') === currentDay }) );