@adtrackify/at-service-common 3.2.31 → 3.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/__tests__/libs/currency.spec.js +35 -19
- package/dist/cjs/__tests__/libs/currency.spec.js.map +1 -1
- package/dist/cjs/libs/currency.d.ts +1 -1
- package/dist/cjs/libs/currency.js +1 -1
- package/dist/cjs/libs/currency.js.map +1 -1
- package/dist/esm/__tests__/libs/currency.spec.js +35 -19
- package/dist/esm/__tests__/libs/currency.spec.js.map +1 -1
- package/dist/esm/libs/currency.d.ts +1 -1
- package/dist/esm/libs/currency.js +1 -1
- package/dist/esm/libs/currency.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
17
17
|
const fromCurrency = 'USD';
|
|
18
18
|
const toCurrency = 'EUR';
|
|
19
19
|
const exchangeRate = 0.85;
|
|
20
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
20
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
21
21
|
expect(result).toBe(85.00);
|
|
22
22
|
});
|
|
23
23
|
it('should convert EUR to USD with exchange rate', () => {
|
|
@@ -25,7 +25,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
25
25
|
const fromCurrency = 'EUR';
|
|
26
26
|
const toCurrency = 'USD';
|
|
27
27
|
const exchangeRate = 1.18;
|
|
28
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
28
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
29
29
|
expect(result).toBe(118.00);
|
|
30
30
|
});
|
|
31
31
|
it('should handle decimal amounts correctly', () => {
|
|
@@ -33,7 +33,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
33
33
|
const fromCurrency = 'USD';
|
|
34
34
|
const toCurrency = 'EUR';
|
|
35
35
|
const exchangeRate = 0.92;
|
|
36
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
36
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
37
37
|
expect(result).toBe(113.57);
|
|
38
38
|
});
|
|
39
39
|
it('should round result to 2 decimal places', () => {
|
|
@@ -41,7 +41,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
41
41
|
const fromCurrency = 'USD';
|
|
42
42
|
const toCurrency = 'EUR';
|
|
43
43
|
const exchangeRate = 0.333333;
|
|
44
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
44
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
45
45
|
expect(result).toBe(33.33);
|
|
46
46
|
});
|
|
47
47
|
it('should handle zero amount', () => {
|
|
@@ -49,7 +49,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
49
49
|
const fromCurrency = 'USD';
|
|
50
50
|
const toCurrency = 'EUR';
|
|
51
51
|
const exchangeRate = 0.85;
|
|
52
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
52
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
53
53
|
expect(result).toBe(0.00);
|
|
54
54
|
});
|
|
55
55
|
it('should handle exchange rate of 1', () => {
|
|
@@ -57,7 +57,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
57
57
|
const fromCurrency = 'USD';
|
|
58
58
|
const toCurrency = 'USD';
|
|
59
59
|
const exchangeRate = 1.0;
|
|
60
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
60
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
61
61
|
expect(result).toBe(100.00);
|
|
62
62
|
});
|
|
63
63
|
it('should handle very small amounts', () => {
|
|
@@ -65,7 +65,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
65
65
|
const fromCurrency = 'USD';
|
|
66
66
|
const toCurrency = 'EUR';
|
|
67
67
|
const exchangeRate = 0.85;
|
|
68
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
68
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
69
69
|
expect(result).toBe(0.01);
|
|
70
70
|
});
|
|
71
71
|
it('should handle large amounts', () => {
|
|
@@ -73,7 +73,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
73
73
|
const fromCurrency = 'USD';
|
|
74
74
|
const toCurrency = 'EUR';
|
|
75
75
|
const exchangeRate = 0.85;
|
|
76
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
76
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
77
77
|
expect(result).toBe(850000.00);
|
|
78
78
|
});
|
|
79
79
|
});
|
|
@@ -83,7 +83,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
83
83
|
const fromCurrency = 'USD';
|
|
84
84
|
const toCurrency = 'EUR';
|
|
85
85
|
const exchangeRate = NaN;
|
|
86
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
86
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
87
87
|
expect(result).toBeUndefined();
|
|
88
88
|
expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
|
|
89
89
|
amount,
|
|
@@ -97,7 +97,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
97
97
|
const fromCurrency = 'USD';
|
|
98
98
|
const toCurrency = 'EUR';
|
|
99
99
|
const exchangeRate = Infinity;
|
|
100
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
100
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
101
101
|
expect(result).toBeUndefined();
|
|
102
102
|
expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
|
|
103
103
|
amount,
|
|
@@ -113,7 +113,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
113
113
|
const fromCurrency = 'USD';
|
|
114
114
|
const toCurrency = 'JPY';
|
|
115
115
|
const exchangeRate = 0.001;
|
|
116
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
116
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
117
117
|
expect(result).toBe(0.10);
|
|
118
118
|
});
|
|
119
119
|
it('should handle very large exchange rates', () => {
|
|
@@ -121,7 +121,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
121
121
|
const fromCurrency = 'JPY';
|
|
122
122
|
const toCurrency = 'USD';
|
|
123
123
|
const exchangeRate = 1000;
|
|
124
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
124
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
125
125
|
expect(result).toBe(1000.00);
|
|
126
126
|
});
|
|
127
127
|
it('should handle zero exchange rate', () => {
|
|
@@ -129,7 +129,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
129
129
|
const fromCurrency = 'USD';
|
|
130
130
|
const toCurrency = 'EUR';
|
|
131
131
|
const exchangeRate = 0;
|
|
132
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
132
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
133
133
|
expect(result).toBe(0.00);
|
|
134
134
|
});
|
|
135
135
|
it('should handle different currency codes', () => {
|
|
@@ -137,7 +137,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
137
137
|
const fromCurrency = 'GBP';
|
|
138
138
|
const toCurrency = 'CAD';
|
|
139
139
|
const exchangeRate = 1.75;
|
|
140
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
140
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
141
141
|
expect(result).toBe(87.50);
|
|
142
142
|
});
|
|
143
143
|
});
|
|
@@ -147,16 +147,32 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
147
147
|
const fromCurrency = 'USD';
|
|
148
148
|
const toCurrency = 'EUR';
|
|
149
149
|
const exchangeRate = 0.85;
|
|
150
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
150
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
151
151
|
expect(result).toBe(0.28);
|
|
152
152
|
});
|
|
153
153
|
it('should handle Big.js with high precision exchange rate', () => {
|
|
154
|
-
const amount =
|
|
154
|
+
const amount = '1931305.25';
|
|
155
155
|
const fromCurrency = 'USD';
|
|
156
156
|
const toCurrency = 'EUR';
|
|
157
|
-
const exchangeRate =
|
|
158
|
-
const result = (0, currency_1.convertAmountBetweenCurrencies)(
|
|
159
|
-
expect(result).toBe(
|
|
157
|
+
const exchangeRate = 1.165772907437631;
|
|
158
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
159
|
+
expect(result).toBe(2251463.34);
|
|
160
|
+
});
|
|
161
|
+
it('should handle Big.js with high precision exchange rate', () => {
|
|
162
|
+
const amount = '6809633.24';
|
|
163
|
+
const fromCurrency = 'CAD';
|
|
164
|
+
const toCurrency = 'USD';
|
|
165
|
+
const exchangeRate = 0.7276431637924762;
|
|
166
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
167
|
+
expect(result).toBe(4954983.08);
|
|
168
|
+
});
|
|
169
|
+
it('should handle Big.js with high precision exchange rate', () => {
|
|
170
|
+
const amount = '81.1723990090352666861';
|
|
171
|
+
const fromCurrency = 'CAD';
|
|
172
|
+
const toCurrency = 'USD';
|
|
173
|
+
const exchangeRate = 0.6520179956966812;
|
|
174
|
+
const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
|
|
175
|
+
expect(result).toBe(52.93);
|
|
160
176
|
});
|
|
161
177
|
});
|
|
162
178
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/currency.spec.ts"],"names":[],"mappings":";;AAKA,kDAAqE;AACrE,2CAAuC;AAEvC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KACjB;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC;YACtB,MAAM,YAAY,GAAG,KAAK,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC;YAE1B,MAAM,MAAM,GAAG,IAAA,yCAA8B,EAAC,
|
|
1
|
+
{"version":3,"file":"currency.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/currency.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const convertAmountBetweenCurrencies: (
|
|
1
|
+
export declare const convertAmountBetweenCurrencies: (fromCurrency: string, toCurrency: string, amount: number, exchangeRate: number) => number | undefined;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.convertAmountBetweenCurrencies = void 0;
|
|
7
7
|
const big_js_1 = __importDefault(require("big.js"));
|
|
8
8
|
const helpers_1 = require("../helpers");
|
|
9
|
-
const convertAmountBetweenCurrencies = (
|
|
9
|
+
const convertAmountBetweenCurrencies = (fromCurrency, toCurrency, amount, exchangeRate) => {
|
|
10
10
|
try {
|
|
11
11
|
if (isNaN(amount) || isNaN(exchangeRate) || !isFinite(amount) || !isFinite(exchangeRate)) {
|
|
12
12
|
helpers_1.Logger.error('Amount and exchange rate must be valid numbers', { amount, fromCurrency, toCurrency, exchangeRate });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/libs/currency.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAyB;AACzB,wCAAoC;AAE7B,MAAM,8BAA8B,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/libs/currency.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAyB;AACzB,wCAAoC;AAE7B,MAAM,8BAA8B,GAAG,CAAC,YAAoB,EAAE,UAAkB,EAAE,MAAc,EAAE,YAAoB,EAAsB,EAAE;IACnJ,IAAI;QACF,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACxF,gBAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;YACnH,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,eAAe,GAAG,IAAA,gBAAG,EAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,IAAA,gBAAG,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC/D;IAAC,OAAO,KAAK,EAAE;QACd,gBAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;QACtG,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAA;AAZY,QAAA,8BAA8B,kCAY1C"}
|
|
@@ -15,7 +15,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
15
15
|
const fromCurrency = 'USD';
|
|
16
16
|
const toCurrency = 'EUR';
|
|
17
17
|
const exchangeRate = 0.85;
|
|
18
|
-
const result = convertAmountBetweenCurrencies(
|
|
18
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
19
19
|
expect(result).toBe(85.00);
|
|
20
20
|
});
|
|
21
21
|
it('should convert EUR to USD with exchange rate', () => {
|
|
@@ -23,7 +23,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
23
23
|
const fromCurrency = 'EUR';
|
|
24
24
|
const toCurrency = 'USD';
|
|
25
25
|
const exchangeRate = 1.18;
|
|
26
|
-
const result = convertAmountBetweenCurrencies(
|
|
26
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
27
27
|
expect(result).toBe(118.00);
|
|
28
28
|
});
|
|
29
29
|
it('should handle decimal amounts correctly', () => {
|
|
@@ -31,7 +31,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
31
31
|
const fromCurrency = 'USD';
|
|
32
32
|
const toCurrency = 'EUR';
|
|
33
33
|
const exchangeRate = 0.92;
|
|
34
|
-
const result = convertAmountBetweenCurrencies(
|
|
34
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
35
35
|
expect(result).toBe(113.57);
|
|
36
36
|
});
|
|
37
37
|
it('should round result to 2 decimal places', () => {
|
|
@@ -39,7 +39,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
39
39
|
const fromCurrency = 'USD';
|
|
40
40
|
const toCurrency = 'EUR';
|
|
41
41
|
const exchangeRate = 0.333333;
|
|
42
|
-
const result = convertAmountBetweenCurrencies(
|
|
42
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
43
43
|
expect(result).toBe(33.33);
|
|
44
44
|
});
|
|
45
45
|
it('should handle zero amount', () => {
|
|
@@ -47,7 +47,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
47
47
|
const fromCurrency = 'USD';
|
|
48
48
|
const toCurrency = 'EUR';
|
|
49
49
|
const exchangeRate = 0.85;
|
|
50
|
-
const result = convertAmountBetweenCurrencies(
|
|
50
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
51
51
|
expect(result).toBe(0.00);
|
|
52
52
|
});
|
|
53
53
|
it('should handle exchange rate of 1', () => {
|
|
@@ -55,7 +55,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
55
55
|
const fromCurrency = 'USD';
|
|
56
56
|
const toCurrency = 'USD';
|
|
57
57
|
const exchangeRate = 1.0;
|
|
58
|
-
const result = convertAmountBetweenCurrencies(
|
|
58
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
59
59
|
expect(result).toBe(100.00);
|
|
60
60
|
});
|
|
61
61
|
it('should handle very small amounts', () => {
|
|
@@ -63,7 +63,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
63
63
|
const fromCurrency = 'USD';
|
|
64
64
|
const toCurrency = 'EUR';
|
|
65
65
|
const exchangeRate = 0.85;
|
|
66
|
-
const result = convertAmountBetweenCurrencies(
|
|
66
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
67
67
|
expect(result).toBe(0.01);
|
|
68
68
|
});
|
|
69
69
|
it('should handle large amounts', () => {
|
|
@@ -71,7 +71,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
71
71
|
const fromCurrency = 'USD';
|
|
72
72
|
const toCurrency = 'EUR';
|
|
73
73
|
const exchangeRate = 0.85;
|
|
74
|
-
const result = convertAmountBetweenCurrencies(
|
|
74
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
75
75
|
expect(result).toBe(850000.00);
|
|
76
76
|
});
|
|
77
77
|
});
|
|
@@ -81,7 +81,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
81
81
|
const fromCurrency = 'USD';
|
|
82
82
|
const toCurrency = 'EUR';
|
|
83
83
|
const exchangeRate = NaN;
|
|
84
|
-
const result = convertAmountBetweenCurrencies(
|
|
84
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
85
85
|
expect(result).toBeUndefined();
|
|
86
86
|
expect(Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
|
|
87
87
|
amount,
|
|
@@ -95,7 +95,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
95
95
|
const fromCurrency = 'USD';
|
|
96
96
|
const toCurrency = 'EUR';
|
|
97
97
|
const exchangeRate = Infinity;
|
|
98
|
-
const result = convertAmountBetweenCurrencies(
|
|
98
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
99
99
|
expect(result).toBeUndefined();
|
|
100
100
|
expect(Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
|
|
101
101
|
amount,
|
|
@@ -111,7 +111,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
111
111
|
const fromCurrency = 'USD';
|
|
112
112
|
const toCurrency = 'JPY';
|
|
113
113
|
const exchangeRate = 0.001;
|
|
114
|
-
const result = convertAmountBetweenCurrencies(
|
|
114
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
115
115
|
expect(result).toBe(0.10);
|
|
116
116
|
});
|
|
117
117
|
it('should handle very large exchange rates', () => {
|
|
@@ -119,7 +119,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
119
119
|
const fromCurrency = 'JPY';
|
|
120
120
|
const toCurrency = 'USD';
|
|
121
121
|
const exchangeRate = 1000;
|
|
122
|
-
const result = convertAmountBetweenCurrencies(
|
|
122
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
123
123
|
expect(result).toBe(1000.00);
|
|
124
124
|
});
|
|
125
125
|
it('should handle zero exchange rate', () => {
|
|
@@ -127,7 +127,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
127
127
|
const fromCurrency = 'USD';
|
|
128
128
|
const toCurrency = 'EUR';
|
|
129
129
|
const exchangeRate = 0;
|
|
130
|
-
const result = convertAmountBetweenCurrencies(
|
|
130
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
131
131
|
expect(result).toBe(0.00);
|
|
132
132
|
});
|
|
133
133
|
it('should handle different currency codes', () => {
|
|
@@ -135,7 +135,7 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
135
135
|
const fromCurrency = 'GBP';
|
|
136
136
|
const toCurrency = 'CAD';
|
|
137
137
|
const exchangeRate = 1.75;
|
|
138
|
-
const result = convertAmountBetweenCurrencies(
|
|
138
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
139
139
|
expect(result).toBe(87.50);
|
|
140
140
|
});
|
|
141
141
|
});
|
|
@@ -145,16 +145,32 @@ describe('convertAmountBetweenCurrencies', () => {
|
|
|
145
145
|
const fromCurrency = 'USD';
|
|
146
146
|
const toCurrency = 'EUR';
|
|
147
147
|
const exchangeRate = 0.85;
|
|
148
|
-
const result = convertAmountBetweenCurrencies(
|
|
148
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
149
149
|
expect(result).toBe(0.28);
|
|
150
150
|
});
|
|
151
151
|
it('should handle Big.js with high precision exchange rate', () => {
|
|
152
|
-
const amount =
|
|
152
|
+
const amount = '1931305.25';
|
|
153
153
|
const fromCurrency = 'USD';
|
|
154
154
|
const toCurrency = 'EUR';
|
|
155
|
-
const exchangeRate =
|
|
156
|
-
const result = convertAmountBetweenCurrencies(
|
|
157
|
-
expect(result).toBe(
|
|
155
|
+
const exchangeRate = 1.165772907437631;
|
|
156
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
157
|
+
expect(result).toBe(2251463.34);
|
|
158
|
+
});
|
|
159
|
+
it('should handle Big.js with high precision exchange rate', () => {
|
|
160
|
+
const amount = '6809633.24';
|
|
161
|
+
const fromCurrency = 'CAD';
|
|
162
|
+
const toCurrency = 'USD';
|
|
163
|
+
const exchangeRate = 0.7276431637924762;
|
|
164
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
165
|
+
expect(result).toBe(4954983.08);
|
|
166
|
+
});
|
|
167
|
+
it('should handle Big.js with high precision exchange rate', () => {
|
|
168
|
+
const amount = '81.1723990090352666861';
|
|
169
|
+
const fromCurrency = 'CAD';
|
|
170
|
+
const toCurrency = 'USD';
|
|
171
|
+
const exchangeRate = 0.6520179956966812;
|
|
172
|
+
const result = convertAmountBetweenCurrencies(fromCurrency, toCurrency, amount, exchangeRate);
|
|
173
|
+
expect(result).toBe(52.93);
|
|
158
174
|
});
|
|
159
175
|
});
|
|
160
176
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/currency.spec.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KACjB;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC;YACtB,MAAM,YAAY,GAAG,KAAK,CAAC;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC;YAE1B,MAAM,MAAM,GAAG,8BAA8B,CAAC,
|
|
1
|
+
{"version":3,"file":"currency.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/currency.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const convertAmountBetweenCurrencies: (
|
|
1
|
+
export declare const convertAmountBetweenCurrencies: (fromCurrency: string, toCurrency: string, amount: number, exchangeRate: number) => number | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Big from 'big.js';
|
|
2
2
|
import { Logger } from '../helpers';
|
|
3
|
-
export const convertAmountBetweenCurrencies = (
|
|
3
|
+
export const convertAmountBetweenCurrencies = (fromCurrency, toCurrency, amount, exchangeRate) => {
|
|
4
4
|
try {
|
|
5
5
|
if (isNaN(amount) || isNaN(exchangeRate) || !isFinite(amount) || !isFinite(exchangeRate)) {
|
|
6
6
|
Logger.error('Amount and exchange rate must be valid numbers', { amount, fromCurrency, toCurrency, exchangeRate });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/libs/currency.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/libs/currency.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,YAAoB,EAAE,UAAkB,EAAE,MAAc,EAAE,YAAoB,EAAsB,EAAE;IACnJ,IAAI;QACF,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACxF,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;YACnH,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC/D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;QACtG,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAA"}
|