Merge branch 'INDA-330-pii-update' into 'main'
[ProtonMail-WebClient.git] / packages / payments / core / cardDetails.test.ts
blobac8448a749f1c5baffbf2364f931bd31f35d00ee
1 import { type CardModel, isPostalCode, toDetails } from './cardDetails';
3 describe('postal code', () => {
4     it('should validate invalid postal code', () => {
5         expect(isPostalCode('')).toBe(false);
6         expect(isPostalCode('1')).toBe(false);
7         expect(isPostalCode('12')).toBe(false);
8     });
10     it('should validate us postal code', () => {
11         expect(isPostalCode('CA95014')).toBe(true);
12     });
14     it('should validate polish postal code', () => {
15         expect(isPostalCode('31-444')).toBe(true);
16     });
17 });
19 describe('cardDetails', () => {
20     it('should format card details correctly', () => {
21         let card: CardModel = {
22             number: '4111 1111 1111 1111',
23             month: '10',
24             year: '2020',
25             cvc: '123',
26             zip: '123 45',
27             country: 'US',
28         };
30         expect(toDetails(card)).toEqual({
31             Number: '4111111111111111',
32             ExpMonth: '10',
33             ExpYear: '2020',
34             CVC: '123',
35             ZIP: '123 45',
36             Country: 'US',
37         });
39         card = {
40             number: '4111 1111 1111 1111',
41             month: '10',
42             year: '32',
43             cvc: '123',
44             zip: '123 45',
45             country: 'US',
46         };
48         expect(toDetails(card)).toEqual({
49             Number: '4111111111111111',
50             ExpMonth: '10',
51             ExpYear: '2032',
52             CVC: '123',
53             ZIP: '123 45',
54             Country: 'US',
55         });
56     });
57 });