From 05b65fe7f0bc175aaaeb9263b8967482f6853a78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Mon, 22 Mar 2021 16:05:40 +0000 Subject: [PATCH 1/3] fix: cash cassettes footer shows nan --- .../src/pages/Maintenance/CashCassettesFooter.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js b/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js index 27773a47..589263e3 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js +++ b/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js @@ -29,7 +29,9 @@ const CashCassettesFooter = ({ (acc[0] += cassette1 * getCashoutSettings(id).top), (acc[1] += cassette2 * getCashoutSettings(id).bottom) ] - const totalInCassettes = R.sum(R.reduce(reducerFn, [0, 0], machines)) + const totalInCassettes = R.isEmpty(machines) + ? 0 + : R.sum(R.reduce(reducerFn, [0, 0], machines)) /* const totalInCashBox = R.sum( R.flatten( From 1595f4f60e2a7db72b39de8003338c89a0e23ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Mon, 22 Mar 2021 16:40:31 +0000 Subject: [PATCH 2/3] fix: verify if total in cassettes is NaN --- .../src/pages/Maintenance/CashCassettesFooter.js | 8 ++++---- new-lamassu-admin/src/utils/number.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js b/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js index 589263e3..271e356c 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js +++ b/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js @@ -7,6 +7,7 @@ import { Info1, Info2, Info3 } from 'src/components/typography/index' // import { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg' import { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg' import { fromNamespace } from 'src/utils/config' +import { isValidNumber } from 'src/utils/number' import styles from './CashCassettesFooter.styles.js' const useStyles = makeStyles(styles) @@ -29,9 +30,7 @@ const CashCassettesFooter = ({ (acc[0] += cassette1 * getCashoutSettings(id).top), (acc[1] += cassette2 * getCashoutSettings(id).bottom) ] - const totalInCassettes = R.isEmpty(machines) - ? 0 - : R.sum(R.reduce(reducerFn, [0, 0], machines)) + const totalInCassettes = R.sum(R.reduce(reducerFn, [0, 0], machines)) /* const totalInCashBox = R.sum( R.flatten( @@ -62,7 +61,8 @@ const CashCassettesFooter = ({ Cash-out: - {totalInCassettes} {currencyCode} + {isValidNumber(totalInCassettes) ? totalInCassettes : 0}{' '} + {currencyCode} {/*
diff --git a/new-lamassu-admin/src/utils/number.js b/new-lamassu-admin/src/utils/number.js index e05d5796..6c907686 100644 --- a/new-lamassu-admin/src/utils/number.js +++ b/new-lamassu-admin/src/utils/number.js @@ -4,4 +4,4 @@ const isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN))) const transformNumber = value => (isValidNumber(value) ? value : null) -export { transformNumber } +export { transformNumber, isValidNumber } From f20ccbee8b8599e276eed9be7947d9ea15c40fe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Oliveira?= Date: Mon, 29 Mar 2021 14:20:49 +0100 Subject: [PATCH 3/3] fix: validate number on the reducer --- .../pages/Maintenance/CashCassettesFooter.js | 17 ++++++++++------- new-lamassu-admin/src/utils/number.js | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js b/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js index 271e356c..53cfe9dc 100644 --- a/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js +++ b/new-lamassu-admin/src/pages/Maintenance/CashCassettesFooter.js @@ -7,7 +7,6 @@ import { Info1, Info2, Info3 } from 'src/components/typography/index' // import { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg' import { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg' import { fromNamespace } from 'src/utils/config' -import { isValidNumber } from 'src/utils/number' import styles from './CashCassettesFooter.styles.js' const useStyles = makeStyles(styles) @@ -26,10 +25,15 @@ const CashCassettesFooter = ({ const classes = useStyles() const cashout = config && fromNamespace('cashOut')(config) const getCashoutSettings = id => fromNamespace(id)(cashout) - const reducerFn = (acc, { cassette1, cassette2, id }) => [ - (acc[0] += cassette1 * getCashoutSettings(id).top), - (acc[1] += cassette2 * getCashoutSettings(id).bottom) - ] + const reducerFn = (acc, { cassette1, cassette2, id }) => { + const topDenomination = getCashoutSettings(id).top ?? 0 + const bottomDenomination = getCashoutSettings(id).bottom ?? 0 + return [ + (acc[0] += cassette1 * topDenomination), + (acc[1] += cassette2 * bottomDenomination) + ] + } + const totalInCassettes = R.sum(R.reduce(reducerFn, [0, 0], machines)) /* const totalInCashBox = R.sum( @@ -61,8 +65,7 @@ const CashCassettesFooter = ({ Cash-out: - {isValidNumber(totalInCassettes) ? totalInCassettes : 0}{' '} - {currencyCode} + {totalInCassettes} {currencyCode}
{/*
diff --git a/new-lamassu-admin/src/utils/number.js b/new-lamassu-admin/src/utils/number.js index 6c907686..e05d5796 100644 --- a/new-lamassu-admin/src/utils/number.js +++ b/new-lamassu-admin/src/utils/number.js @@ -4,4 +4,4 @@ const isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN))) const transformNumber = value => (isValidNumber(value) ? value : null) -export { transformNumber, isValidNumber } +export { transformNumber }