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