diff --git a/web/cashtab/src/utils/__tests__/cashMethods.test.js b/web/cashtab/src/utils/__tests__/cashMethods.test.js --- a/web/cashtab/src/utils/__tests__/cashMethods.test.js +++ b/web/cashtab/src/utils/__tests__/cashMethods.test.js @@ -28,4 +28,13 @@ '10 000 000 123 456.789123456', ); }); + it(`formatBalance handles an input of 0`, () => { + expect(formatBalance('0')).toBe('0'); + }); + it(`formatBalance handles an input of undefined`, () => { + expect(formatBalance(undefined)).toBe(undefined); + }); + it(`formatBalance handles an input of null`, () => { + expect(formatBalance(null)).toBe(null); + }); }); diff --git a/web/cashtab/src/utils/cashMethods.js b/web/cashtab/src/utils/cashMethods.js --- a/web/cashtab/src/utils/cashMethods.js +++ b/web/cashtab/src/utils/cashMethods.js @@ -33,7 +33,16 @@ }; export const formatBalance = x => { - let balanceInParts = x.toString().split('.'); - balanceInParts[0] = balanceInParts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ' '); - return balanceInParts.join('.'); + try { + let balanceInParts = x.toString().split('.'); + balanceInParts[0] = balanceInParts[0].replace( + /\B(?=(\d{3})+(?!\d))/g, + ' ', + ); + return balanceInParts.join('.'); + } catch (err) { + console.log(`Error in formatBalance for ${x}`); + console.log(err); + return x; + } };