From f73e5c74fbc3fa54b5eb8877f237afa1f0da4d60 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Tue, 1 Jun 2021 11:40:02 +0200 Subject: [PATCH] Handle null/undefined cases for price --- .../admin/utils/filters/unlocalize_currency.js.coffee | 2 ++ .../unit/admin/filters/unlocalize_currency_spec.js.coffee | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/app/assets/javascripts/admin/utils/filters/unlocalize_currency.js.coffee b/app/assets/javascripts/admin/utils/filters/unlocalize_currency.js.coffee index 1d176db9ac..c6eca566ef 100644 --- a/app/assets/javascripts/admin/utils/filters/unlocalize_currency.js.coffee +++ b/app/assets/javascripts/admin/utils/filters/unlocalize_currency.js.coffee @@ -1,6 +1,8 @@ angular.module("admin.utils").filter "unlocalizeCurrency", ()-> # Convert string to number using injected currency configuration. (price) -> + if (!price) + return null # used decimal and thousands separators from currency configuration decimal_separator = I18n.toCurrency(.1, {precision: 1, unit: ''}).substring(1,2) thousands_separator = I18n.toCurrency(1000, {precision: 1, unit: ''}).substring(1,2) diff --git a/spec/javascripts/unit/admin/filters/unlocalize_currency_spec.js.coffee b/spec/javascripts/unit/admin/filters/unlocalize_currency_spec.js.coffee index a21db8d05f..7bba962c66 100644 --- a/spec/javascripts/unit/admin/filters/unlocalize_currency_spec.js.coffee +++ b/spec/javascripts/unit/admin/filters/unlocalize_currency_spec.js.coffee @@ -89,3 +89,10 @@ describe 'convert string to number with configurated currency', -> it "handle integer number with no thousands separator", -> expect(filter("1000")).toEqual 1000 + + describe "handle null/undefined case", -> + it "null case", -> + expect(filter(null)).toEqual null + + it "undefined case ", -> + expect(filter(undefined)).toEqual null