diff --git a/__tests__/core/collectElement.test.js b/__tests__/core/collectElement.test.js index 403b859..5f37845 100644 --- a/__tests__/core/collectElement.test.js +++ b/__tests__/core/collectElement.test.js @@ -536,6 +536,18 @@ describe('test Collect Element class', () => { expect(collectElement.getUnformattedValue()).toBe('4111111111111111'); }); + it('should remove hyphens from value', () => { + const elementInput = { + table: 'cards', + column: 'number', + type: ElementType.CARD_NUMBER, + containerType: ContainerType.COLLECT, + }; + const collectElement = new CollectElement(elementInput, {}, context); + collectElement.updateValue('4111-1111-1111-1111'); + expect(collectElement.getUnformattedValue()).toBe('4111111111111111'); + }); + it('test format option in card number element', () => { const formatTestCases = [ // Test different valid formats for the card number diff --git a/__tests__/utils/helper.test.js b/__tests__/utils/helper.test.js index 13b2ca4..708ad0f 100644 --- a/__tests__/utils/helper.test.js +++ b/__tests__/utils/helper.test.js @@ -219,6 +219,16 @@ describe('test getReturnValue function', () => { ).toBe('4111111111111111'); }); + it('should return unformatted value for card number element', () => { + expect( + getReturnValue('4111 1111 1111 1111', true, ElementType.CARD_NUMBER) + ).toBe('4111111111111111'); + + expect( + getReturnValue('4111-1111-1111-1111', true, ElementType.CARD_NUMBER) + ).toBe('4111111111111111'); + }); + it('should return non string value when return value is true', () => { expect(getReturnValue(1000, true, ElementType.INPUT_FIELD)).toBe(1000); }); diff --git a/src/utils/helpers/index.ts b/src/utils/helpers/index.ts index 4fe207c..face546 100644 --- a/src/utils/helpers/index.ts +++ b/src/utils/helpers/index.ts @@ -229,7 +229,7 @@ export const getReturnValue = ( ) => { if (typeof value === 'string') { if (elementType === ElementType.CARD_NUMBER) { - value = value && value.replace(/\s/g, ''); + value = value && value.replace(/[\s-]/g, ''); if (!doesReturnValue) { const threshold = cardType !== CardType.DEFAULT && cardType === CardType.AMEX ? 6 : 8;