@fiddupay/fiddupay-node 2.5.0 → 2.5.1
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/README.md +3 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +4 -6
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -15
- package/dist/index.js.map +1 -1
- package/dist/resources/customers.d.ts +65 -10
- package/dist/resources/customers.d.ts.map +1 -1
- package/dist/resources/customers.js +53 -2
- package/dist/resources/customers.js.map +1 -1
- package/dist/resources/invoices.d.ts +15 -8
- package/dist/resources/invoices.d.ts.map +1 -1
- package/dist/resources/invoices.js +18 -4
- package/dist/resources/invoices.js.map +1 -1
- package/dist/resources/merchants.d.ts +48 -49
- package/dist/resources/merchants.d.ts.map +1 -1
- package/dist/resources/merchants.js +64 -31
- package/dist/resources/merchants.js.map +1 -1
- package/dist/resources/payments.d.ts +15 -6
- package/dist/resources/payments.d.ts.map +1 -1
- package/dist/resources/payments.js +26 -11
- package/dist/resources/payments.js.map +1 -1
- package/dist/resources/refunds.d.ts +1 -1
- package/dist/resources/refunds.d.ts.map +1 -1
- package/dist/resources/refunds.js +5 -2
- package/dist/resources/refunds.js.map +1 -1
- package/dist/resources/sandbox.d.ts +0 -6
- package/dist/resources/sandbox.d.ts.map +1 -1
- package/dist/resources/sandbox.js +0 -6
- package/dist/resources/sandbox.js.map +1 -1
- package/dist/resources/security.d.ts +14 -0
- package/dist/resources/security.d.ts.map +1 -1
- package/dist/resources/security.js +12 -0
- package/dist/resources/security.js.map +1 -1
- package/dist/resources/transactions.d.ts +3 -1
- package/dist/resources/transactions.d.ts.map +1 -1
- package/dist/resources/transactions.js +7 -2
- package/dist/resources/transactions.js.map +1 -1
- package/dist/resources/wallets.d.ts +12 -25
- package/dist/resources/wallets.d.ts.map +1 -1
- package/dist/resources/wallets.js +12 -28
- package/dist/resources/wallets.js.map +1 -1
- package/dist/resources/webhooks.d.ts.map +1 -1
- package/dist/resources/webhooks.js +1 -3
- package/dist/resources/webhooks.js.map +1 -1
- package/dist/resources/withdrawals.d.ts +16 -4
- package/dist/resources/withdrawals.d.ts.map +1 -1
- package/dist/resources/withdrawals.js +21 -3
- package/dist/resources/withdrawals.js.map +1 -1
- package/dist/types/index.d.ts +164 -25
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +7 -6
- package/dist/src/client.d.ts +0 -19
- package/dist/src/client.d.ts.map +0 -1
- package/dist/src/client.js +0 -146
- package/dist/src/client.js.map +0 -1
- package/dist/src/errors/index.d.ts +0 -28
- package/dist/src/errors/index.d.ts.map +0 -1
- package/dist/src/errors/index.js +0 -59
- package/dist/src/errors/index.js.map +0 -1
- package/dist/src/index.d.ts +0 -41
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -84
- package/dist/src/index.js.map +0 -1
- package/dist/src/resources/analytics.d.ts +0 -23
- package/dist/src/resources/analytics.d.ts.map +0 -1
- package/dist/src/resources/analytics.js +0 -36
- package/dist/src/resources/analytics.js.map +0 -1
- package/dist/src/resources/balances.d.ts +0 -23
- package/dist/src/resources/balances.d.ts.map +0 -1
- package/dist/src/resources/balances.js +0 -54
- package/dist/src/resources/balances.js.map +0 -1
- package/dist/src/resources/contact.d.ts +0 -19
- package/dist/src/resources/contact.d.ts.map +0 -1
- package/dist/src/resources/contact.js +0 -17
- package/dist/src/resources/contact.js.map +0 -1
- package/dist/src/resources/customers.d.ts +0 -113
- package/dist/src/resources/customers.d.ts.map +0 -1
- package/dist/src/resources/customers.js +0 -113
- package/dist/src/resources/customers.js.map +0 -1
- package/dist/src/resources/invoices.d.ts +0 -21
- package/dist/src/resources/invoices.d.ts.map +0 -1
- package/dist/src/resources/invoices.js +0 -33
- package/dist/src/resources/invoices.js.map +0 -1
- package/dist/src/resources/merchants.d.ts +0 -120
- package/dist/src/resources/merchants.d.ts.map +0 -1
- package/dist/src/resources/merchants.js +0 -139
- package/dist/src/resources/merchants.js.map +0 -1
- package/dist/src/resources/payments.d.ts +0 -60
- package/dist/src/resources/payments.d.ts.map +0 -1
- package/dist/src/resources/payments.js +0 -188
- package/dist/src/resources/payments.js.map +0 -1
- package/dist/src/resources/refunds.d.ts +0 -31
- package/dist/src/resources/refunds.d.ts.map +0 -1
- package/dist/src/resources/refunds.js +0 -66
- package/dist/src/resources/refunds.js.map +0 -1
- package/dist/src/resources/sandbox.d.ts +0 -11
- package/dist/src/resources/sandbox.d.ts.map +0 -1
- package/dist/src/resources/sandbox.js +0 -16
- package/dist/src/resources/sandbox.js.map +0 -1
- package/dist/src/resources/security.d.ts +0 -56
- package/dist/src/resources/security.d.ts.map +0 -1
- package/dist/src/resources/security.js +0 -70
- package/dist/src/resources/security.js.map +0 -1
- package/dist/src/resources/transactions.d.ts +0 -25
- package/dist/src/resources/transactions.d.ts.map +0 -1
- package/dist/src/resources/transactions.js +0 -21
- package/dist/src/resources/transactions.js.map +0 -1
- package/dist/src/resources/wallets.d.ts +0 -61
- package/dist/src/resources/wallets.d.ts.map +0 -1
- package/dist/src/resources/wallets.js +0 -69
- package/dist/src/resources/wallets.js.map +0 -1
- package/dist/src/resources/webhooks.d.ts +0 -17
- package/dist/src/resources/webhooks.d.ts.map +0 -1
- package/dist/src/resources/webhooks.js +0 -128
- package/dist/src/resources/webhooks.js.map +0 -1
- package/dist/src/resources/withdrawals.d.ts +0 -39
- package/dist/src/resources/withdrawals.d.ts.map +0 -1
- package/dist/src/resources/withdrawals.js +0 -68
- package/dist/src/resources/withdrawals.js.map +0 -1
- package/dist/src/types/index.d.ts +0 -581
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js +0 -8
- package/dist/src/types/index.js.map +0 -1
- package/dist/tests/error-handling.test.d.ts +0 -2
- package/dist/tests/error-handling.test.d.ts.map +0 -1
- package/dist/tests/error-handling.test.js +0 -145
- package/dist/tests/error-handling.test.js.map +0 -1
- package/dist/tests/fiddupay.test.d.ts +0 -2
- package/dist/tests/fiddupay.test.d.ts.map +0 -1
- package/dist/tests/fiddupay.test.js +0 -440
- package/dist/tests/fiddupay.test.js.map +0 -1
- package/dist/tests/sdk-integration.test.d.ts +0 -2
- package/dist/tests/sdk-integration.test.d.ts.map +0 -1
- package/dist/tests/sdk-integration.test.js +0 -352
- package/dist/tests/sdk-integration.test.js.map +0 -1
- package/dist/tests/setup.d.ts +0 -2
- package/dist/tests/setup.d.ts.map +0 -1
- package/dist/tests/setup.js +0 -22
- package/dist/tests/setup.js.map +0 -1
- package/dist/tests/webhooks.test.d.ts +0 -2
- package/dist/tests/webhooks.test.d.ts.map +0 -1
- package/dist/tests/webhooks.test.js +0 -63
- package/dist/tests/webhooks.test.js.map +0 -1
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const src_1 = __importDefault(require("../src"));
|
|
7
|
-
const errors_1 = require("../src/errors");
|
|
8
|
-
describe('FidduPay SDK - Integration Test Suite', () => {
|
|
9
|
-
let client;
|
|
10
|
-
beforeAll(() => {
|
|
11
|
-
client = new src_1.default({
|
|
12
|
-
apiKey: 'sk_sandbox_integration_key',
|
|
13
|
-
timeout: 30000
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
describe('Client Initialization', () => {
|
|
17
|
-
it('should create client with valid configuration', () => {
|
|
18
|
-
expect(client).toBeInstanceOf(src_1.default);
|
|
19
|
-
expect(client.payments).toBeDefined();
|
|
20
|
-
expect(client.merchants).toBeDefined();
|
|
21
|
-
expect(client.refunds).toBeDefined();
|
|
22
|
-
expect(client.wallets).toBeDefined();
|
|
23
|
-
expect(client.analytics).toBeDefined();
|
|
24
|
-
expect(client.security).toBeDefined();
|
|
25
|
-
expect(client.withdrawals).toBeDefined();
|
|
26
|
-
expect(client.sandbox).toBeDefined();
|
|
27
|
-
expect(client.webhooks).toBeDefined();
|
|
28
|
-
});
|
|
29
|
-
it('should validate API key format', () => {
|
|
30
|
-
expect(() => {
|
|
31
|
-
new src_1.default({ apiKey: 'invalid_key' });
|
|
32
|
-
}).toThrow(errors_1.FidduPayValidationError);
|
|
33
|
-
});
|
|
34
|
-
it('should accept valid API key formats', () => {
|
|
35
|
-
expect(() => {
|
|
36
|
-
new src_1.default({ apiKey: 'sk_sandbox_valid_key' });
|
|
37
|
-
}).not.toThrow();
|
|
38
|
-
expect(() => {
|
|
39
|
-
new src_1.default({ apiKey: 'live_valid_key' });
|
|
40
|
-
}).not.toThrow();
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
describe('Resource Availability', () => {
|
|
44
|
-
it('should have all payment methods available', () => {
|
|
45
|
-
expect(typeof client.payments.create).toBe('function');
|
|
46
|
-
expect(typeof client.payments.retrieve).toBe('function');
|
|
47
|
-
expect(typeof client.payments.list).toBe('function');
|
|
48
|
-
expect(typeof client.payments.createAddressOnly).toBe('function');
|
|
49
|
-
});
|
|
50
|
-
it('should have all invoice methods available', () => {
|
|
51
|
-
expect(typeof client.invoices.create).toBe('function');
|
|
52
|
-
expect(typeof client.invoices.retrieve).toBe('function');
|
|
53
|
-
expect(typeof client.invoices.list).toBe('function');
|
|
54
|
-
});
|
|
55
|
-
it('should have all customer methods available', () => {
|
|
56
|
-
expect(typeof client.customers.register).toBe('function');
|
|
57
|
-
expect(typeof client.customers.createWallets).toBe('function');
|
|
58
|
-
expect(typeof client.customers.getBalances).toBe('function');
|
|
59
|
-
});
|
|
60
|
-
it('should have all merchant methods available', () => {
|
|
61
|
-
expect(typeof client.merchants.register).toBe('function');
|
|
62
|
-
expect(typeof client.merchants.login).toBe('function');
|
|
63
|
-
expect(typeof client.merchants.rotateApiKey).toBe('function');
|
|
64
|
-
expect(typeof client.merchants.switchEnvironment).toBe('function');
|
|
65
|
-
expect(typeof client.merchants.getBalance).toBe('function');
|
|
66
|
-
expect(typeof client.merchants.updateSettings).toBe('function');
|
|
67
|
-
expect(typeof client.merchants.getSettings).toBe('function');
|
|
68
|
-
expect(typeof client.merchants.getSupportedCurrencies).toBe('function');
|
|
69
|
-
expect(typeof client.merchants.getPricing).toBe('function');
|
|
70
|
-
expect(typeof client.merchants.getSystemStatus).toBe('function');
|
|
71
|
-
});
|
|
72
|
-
it('should have all refund methods available', () => {
|
|
73
|
-
expect(typeof client.refunds.create).toBe('function');
|
|
74
|
-
expect(typeof client.refunds.retrieve).toBe('function');
|
|
75
|
-
expect(typeof client.refunds.list).toBe('function');
|
|
76
|
-
});
|
|
77
|
-
it('should have all wallet methods available', () => {
|
|
78
|
-
expect(typeof client.wallets.setup).toBe('function');
|
|
79
|
-
expect(typeof client.wallets.checkGasRequirements).toBe('function');
|
|
80
|
-
expect(typeof client.wallets.revoke).toBe('function');
|
|
81
|
-
});
|
|
82
|
-
it('should have all analytics methods available', () => {
|
|
83
|
-
expect(typeof client.analytics.export).toBe('function');
|
|
84
|
-
});
|
|
85
|
-
it('should have all security methods available', () => {
|
|
86
|
-
expect(typeof client.security.getEvents).toBe('function');
|
|
87
|
-
expect(typeof client.security.getAlerts).toBe('function');
|
|
88
|
-
expect(typeof client.security.acknowledgeAlert).toBe('function');
|
|
89
|
-
expect(typeof client.security.getSettings).toBe('function');
|
|
90
|
-
expect(typeof client.security.updateSettings).toBe('function');
|
|
91
|
-
});
|
|
92
|
-
it('should have all withdrawal methods available', () => {
|
|
93
|
-
expect(typeof client.withdrawals.create).toBe('function');
|
|
94
|
-
expect(typeof client.withdrawals.list).toBe('function');
|
|
95
|
-
expect(typeof client.withdrawals.cancel).toBe('function');
|
|
96
|
-
});
|
|
97
|
-
it('should have all sandbox methods available', () => {
|
|
98
|
-
expect(typeof client.sandbox.simulatePayment).toBe('function');
|
|
99
|
-
});
|
|
100
|
-
it('should have all webhook methods available', () => {
|
|
101
|
-
expect(typeof client.webhooks.verifySignature).toBe('function');
|
|
102
|
-
expect(typeof client.webhooks.constructEvent).toBe('function');
|
|
103
|
-
expect(typeof client.webhooks.generateSignature).toBe('function');
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
describe('Configuration Validation', () => {
|
|
107
|
-
it('should handle API key configuration', () => {
|
|
108
|
-
const sandboxClient = new src_1.default({
|
|
109
|
-
apiKey: 'sk_sandbox_sandbox'
|
|
110
|
-
});
|
|
111
|
-
expect(sandboxClient).toBeInstanceOf(src_1.default);
|
|
112
|
-
const prodClient = new src_1.default({
|
|
113
|
-
apiKey: 'sk_live_production_key'
|
|
114
|
-
});
|
|
115
|
-
expect(prodClient).toBeInstanceOf(src_1.default);
|
|
116
|
-
});
|
|
117
|
-
it('should handle custom timeout settings', () => {
|
|
118
|
-
const customClient = new src_1.default({
|
|
119
|
-
apiKey: 'sk_sandbox_custom',
|
|
120
|
-
timeout: 60000
|
|
121
|
-
});
|
|
122
|
-
expect(customClient).toBeInstanceOf(src_1.default);
|
|
123
|
-
});
|
|
124
|
-
it('should handle custom base URL', () => {
|
|
125
|
-
const customClient = new src_1.default({
|
|
126
|
-
apiKey: 'sk_sandbox_custom',
|
|
127
|
-
baseURL: 'https://custom.api.fiddupay.com'
|
|
128
|
-
});
|
|
129
|
-
expect(customClient).toBeInstanceOf(src_1.default);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
describe('Error Handling', () => {
|
|
133
|
-
it('should throw validation error for missing API key', () => {
|
|
134
|
-
expect(() => {
|
|
135
|
-
new src_1.default({});
|
|
136
|
-
}).toThrow(errors_1.FidduPayValidationError);
|
|
137
|
-
});
|
|
138
|
-
it('should throw validation error for invalid API key format', () => {
|
|
139
|
-
expect(() => {
|
|
140
|
-
new src_1.default({ apiKey: 'invalid' });
|
|
141
|
-
}).toThrow(errors_1.FidduPayValidationError);
|
|
142
|
-
});
|
|
143
|
-
it('should throw validation error for empty API key', () => {
|
|
144
|
-
expect(() => {
|
|
145
|
-
new src_1.default({ apiKey: '' });
|
|
146
|
-
}).toThrow(errors_1.FidduPayValidationError);
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
describe('Type Safety', () => {
|
|
150
|
-
it('should enforce correct crypto types', () => {
|
|
151
|
-
const validCryptoTypes = ['SOL', 'ETH', 'BNB', 'MATIC', 'ARB', 'USDT_ETH', 'USDT_BEP20', 'USDT_POLYGON', 'USDT_ARBITRUM', 'USDT_SPL', 'BTC'];
|
|
152
|
-
validCryptoTypes.forEach(cryptoType => {
|
|
153
|
-
expect(() => {
|
|
154
|
-
const paymentData = {
|
|
155
|
-
amount_usd: '100.00',
|
|
156
|
-
crypto_type: cryptoType,
|
|
157
|
-
description: 'Test payment'
|
|
158
|
-
};
|
|
159
|
-
expect(paymentData.crypto_type).toBe(cryptoType);
|
|
160
|
-
}).not.toThrow();
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
it('should enforce correct payment status types', () => {
|
|
164
|
-
const validStatuses = ['PENDING', 'CONFIRMING', 'CONFIRMED', 'FAILED', 'EXPIRED', 'REFUNDED', 'SELECTION_REQUIRED'];
|
|
165
|
-
validStatuses.forEach(status => {
|
|
166
|
-
expect(validStatuses).toContain(status);
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
describe('SDK Coverage', () => {
|
|
171
|
-
it('should cover all major resource categories', () => {
|
|
172
|
-
const expectedResources = [
|
|
173
|
-
'payments',
|
|
174
|
-
'merchants',
|
|
175
|
-
'refunds',
|
|
176
|
-
'wallets',
|
|
177
|
-
'analytics',
|
|
178
|
-
'security',
|
|
179
|
-
'withdrawals',
|
|
180
|
-
'sandbox',
|
|
181
|
-
'webhooks',
|
|
182
|
-
'invoices',
|
|
183
|
-
'customers',
|
|
184
|
-
'balances',
|
|
185
|
-
'auditLogs',
|
|
186
|
-
'contact',
|
|
187
|
-
'transactions'
|
|
188
|
-
];
|
|
189
|
-
expectedResources.forEach(resource => {
|
|
190
|
-
expect(client).toHaveProperty(resource);
|
|
191
|
-
expect(client[resource]).toBeDefined();
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
it('should provide comprehensive payment operations', () => {
|
|
195
|
-
const paymentMethods = [
|
|
196
|
-
'create', 'retrieve', 'list', 'cancel', 'verify', 'finalizeSelection',
|
|
197
|
-
'createAddressOnly', 'retrieveAddressOnly',
|
|
198
|
-
'listAddressOnlyCurrencies', 'getAddressOnlyStats', 'getAddressOnlyHealth',
|
|
199
|
-
'updateFeeSetting', 'getFeeSetting'
|
|
200
|
-
];
|
|
201
|
-
paymentMethods.forEach(method => {
|
|
202
|
-
expect(client.payments).toHaveProperty(method);
|
|
203
|
-
expect(typeof client.payments[method]).toBe('function');
|
|
204
|
-
});
|
|
205
|
-
});
|
|
206
|
-
it('should provide comprehensive merchant operations', () => {
|
|
207
|
-
const merchantMethods = [
|
|
208
|
-
'register', 'login', 'retrieve', 'getStatus', 'switchEnvironment', 'generateApiKey',
|
|
209
|
-
'rotateApiKey', 'getFeeSetting', 'updateSettings', 'getSettings',
|
|
210
|
-
'sendTestWebhook', 'getIpWhitelist', 'getBalance', 'getAuditLogs', 'getBalanceHistory',
|
|
211
|
-
'getSupportedCurrencies', 'getPricing', 'getSystemStatus'
|
|
212
|
-
];
|
|
213
|
-
merchantMethods.forEach(method => {
|
|
214
|
-
expect(client.merchants).toHaveProperty(method);
|
|
215
|
-
expect(typeof client.merchants[method]).toBe('function');
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
it('should provide comprehensive refund operations', () => {
|
|
219
|
-
const refundMethods = ['create', 'retrieve', 'list', 'complete'];
|
|
220
|
-
refundMethods.forEach(method => {
|
|
221
|
-
expect(client.refunds).toHaveProperty(method);
|
|
222
|
-
expect(typeof client.refunds[method]).toBe('function');
|
|
223
|
-
});
|
|
224
|
-
});
|
|
225
|
-
it('should provide comprehensive invoice operations', () => {
|
|
226
|
-
const invoiceMethods = ['create', 'retrieve', 'list'];
|
|
227
|
-
invoiceMethods.forEach(method => {
|
|
228
|
-
expect(client.invoices).toHaveProperty(method);
|
|
229
|
-
expect(typeof client.invoices[method]).toBe('function');
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
it('should provide comprehensive customer operations', () => {
|
|
233
|
-
const customerMethods = [
|
|
234
|
-
'register', 'list', 'getBalances', 'getWallets', 'createWallets',
|
|
235
|
-
'updateStatus', 'updatePermissions', 'withdraw', 'sweep', 'deactivate',
|
|
236
|
-
'getTransactions', 'getDepositAddress', 'payMerchant'
|
|
237
|
-
];
|
|
238
|
-
customerMethods.forEach(method => {
|
|
239
|
-
expect(client.customers).toHaveProperty(method);
|
|
240
|
-
expect(typeof client.customers[method]).toBe('function');
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
it('should provide comprehensive wallet operations', () => {
|
|
244
|
-
const walletMethods = [
|
|
245
|
-
'setup', 'generate', 'configureAddress', 'getConfigurations', 'getBalances', 'revoke',
|
|
246
|
-
'checkGasRequirements', 'getGasEstimates', 'checkWithdrawalCapability'
|
|
247
|
-
];
|
|
248
|
-
walletMethods.forEach(method => {
|
|
249
|
-
expect(client.wallets).toHaveProperty(method);
|
|
250
|
-
expect(typeof client.wallets[method]).toBe('function');
|
|
251
|
-
});
|
|
252
|
-
});
|
|
253
|
-
it('should provide comprehensive withdrawal operations', () => {
|
|
254
|
-
const withdrawalMethods = [
|
|
255
|
-
'create', 'list', 'get', 'cancel', 'process',
|
|
256
|
-
'validateGas', 'getGasEstimates', 'checkCapability'
|
|
257
|
-
];
|
|
258
|
-
withdrawalMethods.forEach(method => {
|
|
259
|
-
expect(client.withdrawals).toHaveProperty(method);
|
|
260
|
-
expect(typeof client.withdrawals[method]).toBe('function');
|
|
261
|
-
});
|
|
262
|
-
});
|
|
263
|
-
it('should provide comprehensive security operations', () => {
|
|
264
|
-
const securityMethods = [
|
|
265
|
-
'getEvents', 'getAlerts', 'acknowledgeAlert', 'getBalanceAlerts',
|
|
266
|
-
'resolveBalanceAlert', 'checkGasBalances', 'getSettings', 'updateSettings',
|
|
267
|
-
'toggleWalletLock', 'toggleCustomerWalletLock'
|
|
268
|
-
];
|
|
269
|
-
securityMethods.forEach(method => {
|
|
270
|
-
expect(client.security).toHaveProperty(method);
|
|
271
|
-
expect(typeof client.security[method]).toBe('function');
|
|
272
|
-
});
|
|
273
|
-
});
|
|
274
|
-
it('should provide webhook utilities', () => {
|
|
275
|
-
const webhookMethods = ['verifySignature', 'constructEvent', 'generateSignature'];
|
|
276
|
-
webhookMethods.forEach(method => {
|
|
277
|
-
expect(client.webhooks).toHaveProperty(method);
|
|
278
|
-
expect(typeof client.webhooks[method]).toBe('function');
|
|
279
|
-
});
|
|
280
|
-
});
|
|
281
|
-
it('should provide comprehensive analytics operations', () => {
|
|
282
|
-
const analyticsMethods = ['retrieve', 'export'];
|
|
283
|
-
analyticsMethods.forEach(method => {
|
|
284
|
-
expect(client.analytics).toHaveProperty(method);
|
|
285
|
-
expect(typeof client.analytics[method]).toBe('function');
|
|
286
|
-
});
|
|
287
|
-
});
|
|
288
|
-
it('should provide comprehensive balances operations', () => {
|
|
289
|
-
const balanceMethods = ['get', 'getHistory'];
|
|
290
|
-
balanceMethods.forEach(method => {
|
|
291
|
-
expect(client.balances).toHaveProperty(method);
|
|
292
|
-
expect(typeof client.balances[method]).toBe('function');
|
|
293
|
-
});
|
|
294
|
-
});
|
|
295
|
-
it('should provide comprehensive audit log operations', () => {
|
|
296
|
-
const auditMethods = ['list'];
|
|
297
|
-
auditMethods.forEach(method => {
|
|
298
|
-
expect(client.auditLogs).toHaveProperty(method);
|
|
299
|
-
expect(typeof client.auditLogs[method]).toBe('function');
|
|
300
|
-
});
|
|
301
|
-
});
|
|
302
|
-
it('should provide comprehensive sandbox operations', () => {
|
|
303
|
-
const sandboxMethods = ['simulatePayment'];
|
|
304
|
-
sandboxMethods.forEach(method => {
|
|
305
|
-
expect(client.sandbox).toHaveProperty(method);
|
|
306
|
-
expect(typeof client.sandbox[method]).toBe('function');
|
|
307
|
-
});
|
|
308
|
-
});
|
|
309
|
-
it('should provide comprehensive contact operations', () => {
|
|
310
|
-
const contactMethods = ['submit'];
|
|
311
|
-
contactMethods.forEach(method => {
|
|
312
|
-
expect(client.contact).toHaveProperty(method);
|
|
313
|
-
expect(typeof client.contact[method]).toBe('function');
|
|
314
|
-
});
|
|
315
|
-
});
|
|
316
|
-
it('should provide comprehensive transactions operations', () => {
|
|
317
|
-
const txnMethods = ['list'];
|
|
318
|
-
txnMethods.forEach(method => {
|
|
319
|
-
expect(client.transactions).toHaveProperty(method);
|
|
320
|
-
expect(typeof client.transactions[method]).toBe('function');
|
|
321
|
-
});
|
|
322
|
-
});
|
|
323
|
-
});
|
|
324
|
-
describe('Mock Integration Tests', () => {
|
|
325
|
-
it('should handle successful API responses', async () => {
|
|
326
|
-
// Mock a successful payment creation
|
|
327
|
-
const mockPayment = {
|
|
328
|
-
payment_id: 'pay_test_123',
|
|
329
|
-
status: 'PENDING',
|
|
330
|
-
amount_usd: '100.00',
|
|
331
|
-
amount: '0.05',
|
|
332
|
-
crypto_type: 'ETH',
|
|
333
|
-
deposit_address: '0x123...',
|
|
334
|
-
created_at: new Date().toISOString(),
|
|
335
|
-
expires_at: new Date().toISOString()
|
|
336
|
-
};
|
|
337
|
-
// This test validates the structure without making actual API calls
|
|
338
|
-
expect(mockPayment.payment_id).toBe('pay_test_123');
|
|
339
|
-
expect(mockPayment.status).toBe('PENDING');
|
|
340
|
-
expect(mockPayment.crypto_type).toBe('ETH');
|
|
341
|
-
});
|
|
342
|
-
it('should handle error responses appropriately', () => {
|
|
343
|
-
// Test error handling structure
|
|
344
|
-
const mockError = new errors_1.FidduPayAPIError('Test error', 400, 'VALIDATION_ERROR');
|
|
345
|
-
expect(mockError).toBeInstanceOf(errors_1.FidduPayAPIError);
|
|
346
|
-
expect(mockError.message).toBe('Test error');
|
|
347
|
-
expect(mockError.statusCode).toBe(400);
|
|
348
|
-
expect(mockError.code).toBe('VALIDATION_ERROR');
|
|
349
|
-
});
|
|
350
|
-
});
|
|
351
|
-
});
|
|
352
|
-
//# sourceMappingURL=sdk-integration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-integration.test.js","sourceRoot":"","sources":["../../tests/sdk-integration.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/setup.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":""}
|
package/dist/tests/setup.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const globals_1 = require("@jest/globals");
|
|
4
|
-
// Mock axios to prevent actual HTTP requests
|
|
5
|
-
const mockAxios = {
|
|
6
|
-
create: globals_1.jest.fn(() => ({
|
|
7
|
-
request: globals_1.jest.fn(() => Promise.resolve({
|
|
8
|
-
data: { success: true },
|
|
9
|
-
status: 200,
|
|
10
|
-
statusText: 'OK',
|
|
11
|
-
headers: {},
|
|
12
|
-
config: {}
|
|
13
|
-
})),
|
|
14
|
-
interceptors: {
|
|
15
|
-
request: { use: globals_1.jest.fn() },
|
|
16
|
-
response: { use: globals_1.jest.fn() }
|
|
17
|
-
}
|
|
18
|
-
})),
|
|
19
|
-
isAxiosError: globals_1.jest.fn(() => false)
|
|
20
|
-
};
|
|
21
|
-
globals_1.jest.mock('axios', () => mockAxios);
|
|
22
|
-
//# sourceMappingURL=setup.js.map
|
package/dist/tests/setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../tests/setup.ts"],"names":[],"mappings":";;AAAA,2CAAqC;AAErC,6CAA6C;AAC7C,MAAM,SAAS,GAAQ;IACnB,MAAM,EAAE,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;SACb,CAAC,CAAC;QACH,YAAY,EAAE;YACV,OAAO,EAAE,EAAE,GAAG,EAAE,cAAI,CAAC,EAAE,EAAE,EAAE;YAC3B,QAAQ,EAAE,EAAE,GAAG,EAAE,cAAI,CAAC,EAAE,EAAE,EAAE;SAC/B;KACJ,CAAC,CAAC;IACH,YAAY,EAAE,cAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;CACrC,CAAC;AAEF,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.test.d.ts","sourceRoot":"","sources":["../../tests/webhooks.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const webhooks_1 = require("../src/resources/webhooks");
|
|
4
|
-
const errors_1 = require("../src/errors");
|
|
5
|
-
describe('Webhooks', () => {
|
|
6
|
-
const secret = 'whsec_test123';
|
|
7
|
-
const payload = JSON.stringify({
|
|
8
|
-
id: 'evt_test123',
|
|
9
|
-
type: 'payment.confirmed',
|
|
10
|
-
data: {
|
|
11
|
-
payment_id: 'pay_test123',
|
|
12
|
-
status: 'CONFIRMED'
|
|
13
|
-
},
|
|
14
|
-
created_at: '2026-01-25T12:00:00Z'
|
|
15
|
-
});
|
|
16
|
-
describe('generateSignature', () => {
|
|
17
|
-
it('should generate valid signature', () => {
|
|
18
|
-
const signature = webhooks_1.Webhooks.generateSignature(payload, secret);
|
|
19
|
-
expect(signature).toMatch(/^t=\d+,v1=[a-f0-9]{64}$/);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
describe('verifySignature', () => {
|
|
23
|
-
it('should verify valid signature', () => {
|
|
24
|
-
const signature = webhooks_1.Webhooks.generateSignature(payload, secret);
|
|
25
|
-
const isValid = webhooks_1.Webhooks.verifySignature(payload, signature, secret);
|
|
26
|
-
expect(isValid).toBe(true);
|
|
27
|
-
});
|
|
28
|
-
it('should reject invalid signature', () => {
|
|
29
|
-
const invalidSignature = 't=1234567890,v1=invalid';
|
|
30
|
-
const isValid = webhooks_1.Webhooks.verifySignature(payload, invalidSignature, secret);
|
|
31
|
-
expect(isValid).toBe(false);
|
|
32
|
-
});
|
|
33
|
-
it('should reject expired signature', () => {
|
|
34
|
-
const oldTimestamp = Math.floor(Date.now() / 1000) - 400; // 400 seconds ago
|
|
35
|
-
const signature = `t=${oldTimestamp},v1=somehash`;
|
|
36
|
-
const isValid = webhooks_1.Webhooks.verifySignature(payload, signature, secret, 300);
|
|
37
|
-
expect(isValid).toBe(false);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
describe('constructEvent', () => {
|
|
41
|
-
it('should construct valid webhook event', () => {
|
|
42
|
-
const signature = webhooks_1.Webhooks.generateSignature(payload, secret);
|
|
43
|
-
const event = webhooks_1.Webhooks.constructEvent(payload, signature, secret);
|
|
44
|
-
expect(event.id).toBe('evt_test123');
|
|
45
|
-
expect(event.type).toBe('payment.confirmed');
|
|
46
|
-
expect(event.data).toBeDefined();
|
|
47
|
-
});
|
|
48
|
-
it('should throw error for invalid signature', () => {
|
|
49
|
-
const invalidSignature = 't=1234567890,v1=invalid';
|
|
50
|
-
expect(() => {
|
|
51
|
-
webhooks_1.Webhooks.constructEvent(payload, invalidSignature, secret);
|
|
52
|
-
}).toThrow(errors_1.FidduPayError);
|
|
53
|
-
});
|
|
54
|
-
it('should throw error for invalid payload', () => {
|
|
55
|
-
const invalidPayload = 'invalid json';
|
|
56
|
-
const signature = webhooks_1.Webhooks.generateSignature(invalidPayload, secret);
|
|
57
|
-
expect(() => {
|
|
58
|
-
webhooks_1.Webhooks.constructEvent(invalidPayload, signature, secret);
|
|
59
|
-
}).toThrow(errors_1.FidduPayError);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
//# sourceMappingURL=webhooks.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.test.js","sourceRoot":"","sources":["../../tests/webhooks.test.ts"],"names":[],"mappings":"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"}
|