fintoc 1.1.2 → 1.3.0
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 +75 -296
- package/build/main/index.d.ts +3 -0
- package/build/main/index.js +13 -2
- package/build/main/interfaces/client/constructorOptions.d.ts +1 -0
- package/build/main/interfaces/client/index.js +6 -2
- package/build/main/interfaces/client/requestOptions.d.ts +1 -0
- package/build/main/interfaces/mixins/index.js +6 -2
- package/build/main/interfaces/paginator/index.js +6 -2
- package/build/main/interfaces/paginator/paginationOptions.d.ts +1 -0
- package/build/main/lib/client.d.ts +6 -1
- package/build/main/lib/client.js +50 -24
- package/build/main/lib/core.d.ts +20 -2
- package/build/main/lib/core.js +25 -6
- package/build/main/lib/errors.d.ts +2 -0
- package/build/main/lib/errors.js +5 -2
- package/build/main/lib/jws.d.ts +25 -0
- package/build/main/lib/jws.js +130 -0
- package/build/main/lib/managers/accountsManager.d.ts +4 -0
- package/build/main/lib/managers/accountsManager.js +7 -2
- package/build/main/lib/managers/index.js +6 -2
- package/build/main/lib/managers/invoicesManager.js +2 -2
- package/build/main/lib/managers/linksManager.js +2 -2
- package/build/main/lib/managers/movementsManager.js +2 -2
- package/build/main/lib/managers/paymentIntentsManager.js +2 -2
- package/build/main/lib/managers/refreshIntentsManager.js +2 -2
- package/build/main/lib/managers/subscriptionsManager.js +2 -2
- package/build/main/lib/managers/taxReturnsManager.js +2 -2
- package/build/main/lib/managers/v2/accountNumbersManager.d.ts +6 -0
- package/build/main/lib/managers/v2/accountNumbersManager.js +10 -0
- package/build/main/lib/managers/v2/accountVerificationsManager.d.ts +6 -0
- package/build/main/lib/managers/v2/accountVerificationsManager.js +10 -0
- package/build/main/lib/managers/v2/accountsManager.d.ts +6 -0
- package/build/main/lib/managers/v2/accountsManager.js +10 -0
- package/build/main/lib/managers/v2/entitiesManager.d.ts +6 -0
- package/build/main/lib/managers/v2/entitiesManager.js +10 -0
- package/build/main/lib/managers/v2/index.d.ts +6 -0
- package/build/main/lib/managers/v2/index.js +23 -0
- package/build/main/lib/managers/v2/simulateManager.d.ts +8 -0
- package/build/main/lib/managers/v2/simulateManager.js +15 -0
- package/build/main/lib/managers/v2/transfersManager.d.ts +8 -0
- package/build/main/lib/managers/v2/transfersManager.js +15 -0
- package/build/main/lib/managers/webhookEndpointsManager.js +2 -2
- package/build/main/lib/mixins/index.js +6 -2
- package/build/main/lib/mixins/managerMixin.d.ts +21 -6
- package/build/main/lib/mixins/managerMixin.js +35 -19
- package/build/main/lib/mixins/resourceMixin.js +10 -11
- package/build/main/lib/paginator.d.ts +1 -1
- package/build/main/lib/paginator.js +16 -13
- package/build/main/lib/resourceHandlers.d.ts +1 -1
- package/build/main/lib/resourceHandlers.js +15 -14
- package/build/main/lib/resources/account.d.ts +4 -0
- package/build/main/lib/resources/account.js +7 -2
- package/build/main/lib/resources/link.d.ts +20 -0
- package/build/main/lib/resources/link.js +31 -6
- package/build/main/lib/resources/v2/account.d.ts +3 -0
- package/build/main/lib/resources/v2/account.js +8 -0
- package/build/main/lib/resources/v2/accountNumber.d.ts +3 -0
- package/build/main/lib/resources/v2/accountNumber.js +8 -0
- package/build/main/lib/resources/v2/accountVerification.d.ts +3 -0
- package/build/main/lib/resources/v2/accountVerification.js +8 -0
- package/build/main/lib/resources/v2/entity.d.ts +3 -0
- package/build/main/lib/resources/v2/entity.js +8 -0
- package/build/main/lib/resources/v2/index.d.ts +5 -0
- package/build/main/lib/resources/v2/index.js +22 -0
- package/build/main/lib/resources/v2/transfer.d.ts +3 -0
- package/build/main/lib/resources/v2/transfer.js +8 -0
- package/build/main/lib/utils.d.ts +3 -3
- package/build/main/lib/utils.js +36 -23
- package/build/main/lib/version.js +1 -1
- package/build/main/lib/webhook.d.ts +17 -0
- package/build/main/lib/webhook.js +109 -0
- package/build/main/spec/client/creationFunctionality.spec.js +11 -11
- package/build/main/spec/client/requestFunctionality.spec.js +36 -11
- package/build/main/spec/core.spec.js +2 -2
- package/build/main/spec/integration.spec.d.ts +1 -0
- package/build/main/spec/integration.spec.js +643 -0
- package/build/main/spec/jws.spec.d.ts +1 -0
- package/build/main/spec/jws.spec.js +185 -0
- package/build/main/spec/managers/linkManagers.spec.js +5 -5
- package/build/main/spec/mixins/managerMixin/creation.spec.js +9 -9
- package/build/main/spec/mixins/managerMixin/handlers.spec.js +10 -14
- package/build/main/spec/mixins/managerMixin/methods.spec.js +10 -10
- package/build/main/spec/mixins/managerMixin/mocks/complexMockManager.d.ts +1 -1
- package/build/main/spec/mixins/managerMixin/mocks/complexMockManager.js +4 -4
- package/build/main/spec/mixins/managerMixin/mocks/emptyMockManager.js +2 -2
- package/build/main/spec/mixins/resourceMixin/creation.spec.js +6 -6
- package/build/main/spec/mixins/resourceMixin/methods.spec.js +7 -7
- package/build/main/spec/mixins/resourceMixin/serialization.spec.js +5 -5
- package/build/main/spec/mocks/client/axiosInstance.js +6 -5
- package/build/main/spec/mocks/client/response.d.ts +3 -0
- package/build/main/spec/mocks/client/response.js +8 -3
- package/build/main/spec/mocks/initializers.d.ts +1 -1
- package/build/main/spec/mocks/initializers.js +4 -5
- package/build/main/spec/paginator/paginate.spec.js +7 -7
- package/build/main/spec/paginator/parseLink.spec.js +13 -13
- package/build/main/spec/paginator/parseLinkHeaders.spec.js +8 -8
- package/build/main/spec/paginator/request.spec.js +10 -8
- package/build/main/spec/resources/account.spec.js +2 -2
- package/build/main/spec/resources/link.spec.js +6 -6
- package/build/main/spec/shared/utils.js +3 -4
- package/build/main/spec/utils/canRaiseHTTPError.spec.js +4 -4
- package/build/main/spec/utils/getErrorClass.spec.js +5 -5
- package/build/main/spec/utils/getResourceClass.spec.js +13 -13
- package/build/main/spec/utils/isISODate.spec.js +5 -5
- package/build/main/spec/utils/objetize.spec.js +14 -14
- package/build/main/spec/utils/objetizeGenerator.spec.js +6 -6
- package/build/main/spec/utils/serialize.spec.js +14 -14
- package/build/main/spec/utils/shared/getGenerator.js +2 -3
- package/build/main/spec/utils/singularize.spec.js +7 -7
- package/build/main/spec/utils/snakeToPascal.spec.js +7 -7
- package/build/main/spec/webhook.spec.d.ts +1 -0
- package/build/main/spec/webhook.spec.js +120 -0
- package/build/main/types/genericFunction.d.ts +1 -1
- package/build/main/types/index.js +6 -2
- package/build/main/types/resourceArguments.d.ts +1 -1
- package/build/module/index.d.ts +3 -0
- package/build/module/index.js +4 -1
- package/build/module/interfaces/client/constructorOptions.d.ts +1 -0
- package/build/module/interfaces/client/requestOptions.d.ts +1 -0
- package/build/module/interfaces/paginator/paginationOptions.d.ts +1 -0
- package/build/module/lib/client.d.ts +6 -1
- package/build/module/lib/client.js +41 -14
- package/build/module/lib/core.d.ts +20 -2
- package/build/module/lib/core.js +39 -8
- package/build/module/lib/errors.d.ts +2 -0
- package/build/module/lib/errors.js +3 -1
- package/build/module/lib/jws.d.ts +25 -0
- package/build/module/lib/jws.js +94 -0
- package/build/module/lib/managers/accountsManager.d.ts +4 -0
- package/build/module/lib/managers/accountsManager.js +8 -2
- package/build/module/lib/managers/invoicesManager.js +2 -2
- package/build/module/lib/managers/linksManager.js +2 -2
- package/build/module/lib/managers/movementsManager.js +2 -2
- package/build/module/lib/managers/paymentIntentsManager.js +2 -2
- package/build/module/lib/managers/refreshIntentsManager.js +2 -2
- package/build/module/lib/managers/subscriptionsManager.js +2 -2
- package/build/module/lib/managers/taxReturnsManager.js +2 -2
- package/build/module/lib/managers/v2/accountNumbersManager.d.ts +6 -0
- package/build/module/lib/managers/v2/accountNumbersManager.js +6 -0
- package/build/module/lib/managers/v2/accountVerificationsManager.d.ts +6 -0
- package/build/module/lib/managers/v2/accountVerificationsManager.js +6 -0
- package/build/module/lib/managers/v2/accountsManager.d.ts +6 -0
- package/build/module/lib/managers/v2/accountsManager.js +6 -0
- package/build/module/lib/managers/v2/entitiesManager.d.ts +6 -0
- package/build/module/lib/managers/v2/entitiesManager.js +6 -0
- package/build/module/lib/managers/v2/index.d.ts +6 -0
- package/build/module/lib/managers/v2/index.js +7 -0
- package/build/module/lib/managers/v2/simulateManager.d.ts +8 -0
- package/build/module/lib/managers/v2/simulateManager.js +11 -0
- package/build/module/lib/managers/v2/transfersManager.d.ts +8 -0
- package/build/module/lib/managers/v2/transfersManager.js +11 -0
- package/build/module/lib/managers/webhookEndpointsManager.js +2 -2
- package/build/module/lib/mixins/managerMixin.d.ts +21 -6
- package/build/module/lib/mixins/managerMixin.js +32 -16
- package/build/module/lib/mixins/resourceMixin.js +2 -3
- package/build/module/lib/paginator.d.ts +1 -1
- package/build/module/lib/paginator.js +12 -8
- package/build/module/lib/resourceHandlers.d.ts +1 -1
- package/build/module/lib/resourceHandlers.js +5 -3
- package/build/module/lib/resources/account.d.ts +4 -0
- package/build/module/lib/resources/account.js +7 -2
- package/build/module/lib/resources/link.d.ts +20 -0
- package/build/module/lib/resources/link.js +31 -6
- package/build/module/lib/resources/v2/account.d.ts +3 -0
- package/build/module/lib/resources/v2/account.js +4 -0
- package/build/module/lib/resources/v2/accountNumber.d.ts +3 -0
- package/build/module/lib/resources/v2/accountNumber.js +4 -0
- package/build/module/lib/resources/v2/accountVerification.d.ts +3 -0
- package/build/module/lib/resources/v2/accountVerification.js +4 -0
- package/build/module/lib/resources/v2/entity.d.ts +3 -0
- package/build/module/lib/resources/v2/entity.js +4 -0
- package/build/module/lib/resources/v2/index.d.ts +5 -0
- package/build/module/lib/resources/v2/index.js +6 -0
- package/build/module/lib/resources/v2/transfer.d.ts +3 -0
- package/build/module/lib/resources/v2/transfer.js +4 -0
- package/build/module/lib/utils.d.ts +3 -3
- package/build/module/lib/utils.js +1 -1
- package/build/module/lib/version.js +1 -1
- package/build/module/lib/webhook.d.ts +17 -0
- package/build/module/lib/webhook.js +72 -0
- package/build/module/spec/client/creationFunctionality.spec.js +6 -6
- package/build/module/spec/client/requestFunctionality.spec.js +26 -1
- package/build/module/spec/integration.spec.d.ts +1 -0
- package/build/module/spec/integration.spec.js +638 -0
- package/build/module/spec/jws.spec.d.ts +1 -0
- package/build/module/spec/jws.spec.js +147 -0
- package/build/module/spec/mixins/managerMixin/handlers.spec.js +6 -10
- package/build/module/spec/mixins/managerMixin/methods.spec.js +1 -1
- package/build/module/spec/mixins/managerMixin/mocks/complexMockManager.d.ts +1 -1
- package/build/module/spec/mixins/managerMixin/mocks/complexMockManager.js +4 -4
- package/build/module/spec/mixins/managerMixin/mocks/emptyMockManager.js +2 -2
- package/build/module/spec/mocks/client/axiosInstance.js +4 -3
- package/build/module/spec/mocks/client/response.d.ts +3 -0
- package/build/module/spec/mocks/client/response.js +9 -3
- package/build/module/spec/mocks/initializers.d.ts +1 -1
- package/build/module/spec/paginator/paginate.spec.js +2 -2
- package/build/module/spec/paginator/request.spec.js +6 -4
- package/build/module/spec/utils/objetizeGenerator.spec.js +1 -1
- package/build/module/spec/utils/shared/getGenerator.js +1 -1
- package/build/module/spec/webhook.spec.d.ts +1 -0
- package/build/module/spec/webhook.spec.js +115 -0
- package/build/module/types/genericFunction.d.ts +1 -1
- package/build/module/types/resourceArguments.d.ts +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import * as crypto from 'crypto';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as os from 'os';
|
|
4
|
+
import * as path from 'path';
|
|
5
|
+
import test from 'ava';
|
|
6
|
+
import { JWSSignature } from '../lib/jws';
|
|
7
|
+
function generateTestKeyPair() {
|
|
8
|
+
return crypto.generateKeyPairSync('rsa', {
|
|
9
|
+
modulusLength: 2048,
|
|
10
|
+
publicKeyEncoding: { type: 'spki', format: 'pem' },
|
|
11
|
+
privateKeyEncoding: { type: 'pkcs8', format: 'pem' },
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function createTempKeyFile(privateKey) {
|
|
15
|
+
const tempDir = os.tmpdir();
|
|
16
|
+
const tempFile = path.join(tempDir, `test-key-${Date.now()}.pem`);
|
|
17
|
+
fs.writeFileSync(tempFile, privateKey);
|
|
18
|
+
return tempFile;
|
|
19
|
+
}
|
|
20
|
+
function parseJWSHeader(jwsHeader) {
|
|
21
|
+
const [protectedHeaderBase64] = jwsHeader.split('.');
|
|
22
|
+
const protectedHeader = JSON.parse(Buffer.from(protectedHeaderBase64, 'base64url').toString());
|
|
23
|
+
return protectedHeader;
|
|
24
|
+
}
|
|
25
|
+
function verifyJWSSignature(jwsHeader, payload, publicKey) {
|
|
26
|
+
const [protectedHeaderBase64, signatureBase64] = jwsHeader.split('.');
|
|
27
|
+
const payloadBase64 = Buffer.from(payload).toString('base64url');
|
|
28
|
+
const signingInput = `${protectedHeaderBase64}.${payloadBase64}`;
|
|
29
|
+
const signature = Buffer.from(signatureBase64, 'base64url');
|
|
30
|
+
const verifier = crypto.createVerify('sha256');
|
|
31
|
+
verifier.update(signingInput);
|
|
32
|
+
return verifier.verify(publicKey, signature);
|
|
33
|
+
}
|
|
34
|
+
test.beforeEach((t) => {
|
|
35
|
+
const ctx = t.context;
|
|
36
|
+
const keyPair = generateTestKeyPair();
|
|
37
|
+
ctx.privateKey = keyPair.privateKey;
|
|
38
|
+
ctx.publicKey = keyPair.publicKey;
|
|
39
|
+
ctx.testPayload = '{"test": "data"}';
|
|
40
|
+
});
|
|
41
|
+
test.afterEach((t) => {
|
|
42
|
+
const ctx = t.context;
|
|
43
|
+
if (ctx.tempKeyFile && fs.existsSync(ctx.tempKeyFile)) {
|
|
44
|
+
fs.unlinkSync(ctx.tempKeyFile);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
test('JWSSignature initialization with PEM string', (t) => {
|
|
48
|
+
const ctx = t.context;
|
|
49
|
+
const jws = new JWSSignature(ctx.privateKey);
|
|
50
|
+
t.truthy(jws);
|
|
51
|
+
});
|
|
52
|
+
test('JWSSignature initialization with PEM buffer', (t) => {
|
|
53
|
+
const ctx = t.context;
|
|
54
|
+
const keyBuffer = Buffer.from(ctx.privateKey, 'utf8');
|
|
55
|
+
const jws = new JWSSignature(keyBuffer);
|
|
56
|
+
t.truthy(jws);
|
|
57
|
+
});
|
|
58
|
+
test('JWSSignature initialization with file path', (t) => {
|
|
59
|
+
const ctx = t.context;
|
|
60
|
+
const tempKeyFile = createTempKeyFile(ctx.privateKey);
|
|
61
|
+
ctx.tempKeyFile = tempKeyFile;
|
|
62
|
+
const jws = new JWSSignature(tempKeyFile);
|
|
63
|
+
t.truthy(jws);
|
|
64
|
+
});
|
|
65
|
+
test('JWSSignature throws error with invalid input type', (t) => {
|
|
66
|
+
t.throws(() => {
|
|
67
|
+
// eslint-disable-next-line no-new
|
|
68
|
+
new JWSSignature(123);
|
|
69
|
+
}, { message: /Private key must be a string/ });
|
|
70
|
+
});
|
|
71
|
+
test('JWSSignature throws error with non-existent file path', (t) => {
|
|
72
|
+
t.throws(() => {
|
|
73
|
+
// eslint-disable-next-line no-new
|
|
74
|
+
new JWSSignature('/non/existent/path.pem');
|
|
75
|
+
}, { message: /Failed to read private key file/ });
|
|
76
|
+
});
|
|
77
|
+
test('JWSSignature throws error with invalid key format', (t) => {
|
|
78
|
+
t.throws(() => {
|
|
79
|
+
// eslint-disable-next-line no-new
|
|
80
|
+
new JWSSignature('invalid-key-content');
|
|
81
|
+
}, { message: /Invalid private key format/ });
|
|
82
|
+
});
|
|
83
|
+
test('generateHeader creates valid JWS header structure', (t) => {
|
|
84
|
+
const ctx = t.context;
|
|
85
|
+
const jws = new JWSSignature(ctx.privateKey);
|
|
86
|
+
const header = jws.generateHeader(ctx.testPayload);
|
|
87
|
+
t.is(header.split('.').length, 2);
|
|
88
|
+
const protectedHeader = parseJWSHeader(header);
|
|
89
|
+
t.is(protectedHeader.alg, 'RS256');
|
|
90
|
+
t.truthy(protectedHeader.nonce);
|
|
91
|
+
t.truthy(protectedHeader.ts);
|
|
92
|
+
t.deepEqual(protectedHeader.crit, ['ts', 'nonce']);
|
|
93
|
+
});
|
|
94
|
+
test('generateHeader creates valid cryptographic signature', (t) => {
|
|
95
|
+
const ctx = t.context;
|
|
96
|
+
const jws = new JWSSignature(ctx.privateKey);
|
|
97
|
+
const header = jws.generateHeader(ctx.testPayload);
|
|
98
|
+
const isValid = verifyJWSSignature(header, ctx.testPayload, ctx.publicKey);
|
|
99
|
+
t.true(isValid);
|
|
100
|
+
});
|
|
101
|
+
test('generateHeader timestamp is current', (t) => {
|
|
102
|
+
const ctx = t.context;
|
|
103
|
+
const jws = new JWSSignature(ctx.privateKey);
|
|
104
|
+
const header = jws.generateHeader(ctx.testPayload);
|
|
105
|
+
const protectedHeader = parseJWSHeader(header);
|
|
106
|
+
const headerTimestamp = protectedHeader.ts;
|
|
107
|
+
const currentTimestamp = Math.floor(Date.now() / 1000);
|
|
108
|
+
t.true(Math.abs(currentTimestamp - headerTimestamp) <= 10);
|
|
109
|
+
});
|
|
110
|
+
test('generateHeader creates unique nonces', (t) => {
|
|
111
|
+
const ctx = t.context;
|
|
112
|
+
const jws = new JWSSignature(ctx.privateKey);
|
|
113
|
+
const header1 = jws.generateHeader(ctx.testPayload);
|
|
114
|
+
const header2 = jws.generateHeader(ctx.testPayload);
|
|
115
|
+
const protectedHeader1 = parseJWSHeader(header1);
|
|
116
|
+
const protectedHeader2 = parseJWSHeader(header2);
|
|
117
|
+
t.not(protectedHeader1.nonce, protectedHeader2.nonce);
|
|
118
|
+
});
|
|
119
|
+
test('generateHeader works with empty payload', (t) => {
|
|
120
|
+
const ctx = t.context;
|
|
121
|
+
const jws = new JWSSignature(ctx.privateKey);
|
|
122
|
+
const header = jws.generateHeader('');
|
|
123
|
+
const isValid = verifyJWSSignature(header, '', ctx.publicKey);
|
|
124
|
+
t.true(isValid);
|
|
125
|
+
});
|
|
126
|
+
test('generateHeader works with complex JSON payload', (t) => {
|
|
127
|
+
const ctx = t.context;
|
|
128
|
+
const complexPayload = JSON.stringify({
|
|
129
|
+
user: 'test@example.com',
|
|
130
|
+
data: { nested: { value: 123 }, array: [1, 2, 3] },
|
|
131
|
+
timestamp: Date.now(),
|
|
132
|
+
});
|
|
133
|
+
const jws = new JWSSignature(ctx.privateKey);
|
|
134
|
+
const header = jws.generateHeader(complexPayload);
|
|
135
|
+
const isValid = verifyJWSSignature(header, complexPayload, ctx.publicKey);
|
|
136
|
+
t.true(isValid);
|
|
137
|
+
});
|
|
138
|
+
test('nonce is hexadecimal string of correct length', (t) => {
|
|
139
|
+
const ctx = t.context;
|
|
140
|
+
const jws = new JWSSignature(ctx.privateKey);
|
|
141
|
+
const header = jws.generateHeader(ctx.testPayload);
|
|
142
|
+
const protectedHeader = parseJWSHeader(header);
|
|
143
|
+
const { nonce } = protectedHeader;
|
|
144
|
+
t.is(nonce.length, 32);
|
|
145
|
+
t.regex(nonce, /^[0-9a-f]+$/);
|
|
146
|
+
});
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiandzLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BlYy9qd3Muc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLElBQUksTUFBTSxLQUFLLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxTQUFTLG1CQUFtQjtJQUMxQixPQUFPLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUU7UUFDdkMsYUFBYSxFQUFFLElBQUk7UUFDbkIsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7UUFDbEQsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7S0FDckQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsVUFBa0I7SUFDM0MsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2QyxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsU0FBaUI7SUFDdkMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENB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
|
|
@@ -32,7 +32,7 @@ test.serial('"ManagerMixin" handlers all handler', async (t) => {
|
|
|
32
32
|
const ctx = t.context;
|
|
33
33
|
await ctx.manager.all();
|
|
34
34
|
// @ts-ignore: property does not exist
|
|
35
|
-
t.assert(console.log.getCall(0).args[0].includes('
|
|
35
|
+
t.assert(console.log.getCall(0).args[0].includes('list'));
|
|
36
36
|
});
|
|
37
37
|
test.serial('"ManagerMixin" handlers get handler', async (t) => {
|
|
38
38
|
const ctx = t.context;
|
|
@@ -49,19 +49,15 @@ test.serial('"ManagerMixin" handlers create handler', async (t) => {
|
|
|
49
49
|
test.serial('"ManagerMixin" handlers update handler', async (t) => {
|
|
50
50
|
const ctx = t.context;
|
|
51
51
|
await ctx.manager.update('my_id');
|
|
52
|
-
// Update handler
|
|
52
|
+
// Update handler only calls update, not get first
|
|
53
53
|
// @ts-ignore: property does not exist
|
|
54
|
-
t.assert(console.log.getCall(3).args[0].includes('
|
|
55
|
-
// @ts-ignore: property does not exist
|
|
56
|
-
t.assert(console.log.getCall(4).args[0].includes('update'));
|
|
54
|
+
t.assert(console.log.getCall(3).args[0].includes('update'));
|
|
57
55
|
});
|
|
58
56
|
test.serial('"ManagerMixin" handlers delete handler', async (t) => {
|
|
59
57
|
const ctx = t.context;
|
|
60
58
|
await ctx.manager.delete('my_id');
|
|
61
|
-
// Delete handler
|
|
62
|
-
// @ts-ignore: property does not exist
|
|
63
|
-
t.assert(console.log.getCall(5).args[0].includes('get'));
|
|
59
|
+
// Delete handler only calls delete, not get first
|
|
64
60
|
// @ts-ignore: property does not exist
|
|
65
|
-
t.assert(console.log.getCall(
|
|
61
|
+
t.assert(console.log.getCall(4).args[0].includes('delete'));
|
|
66
62
|
});
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlcnMuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zcGVjL21peGlucy9tYW5hZ2VyTWl4aW4vaGFuZGxlcnMuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxJQUFJLE1BQU0sS0FBSyxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDaEIsTUFBTSxHQUFHLEdBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzQixHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBQzVCLEdBQUcsQ0FBQyxjQUFjLEdBQUcsY0FBYyxFQUFFLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDZixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUMsQ0FBQztBQUVILElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNwQixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRTNCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7SUFDakMsR0FBRyxDQUFDLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQztJQUNwQyxHQUFHLENB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
|
|
@@ -68,4 +68,4 @@ test('"ManagerMixin" methods delete method', async (t) => {
|
|
|
68
68
|
const id = await ctx.manager.delete('my_id');
|
|
69
69
|
t.is(typeof id, 'string');
|
|
70
70
|
});
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kcy5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NwZWMvbWl4aW5zL21hbmFnZXJNaXhpbi9tZXRob2RzLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sS0FBSyxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDaEIsTUFBTSxHQUFHLEdBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzQixHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2YsTUFBTSxHQUFHLEdBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3BCLE1BQU0sR0FBRyxHQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFFM0IsR0FBRyxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztJQUNqQyxHQUFHLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDO0lBQ3BDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsa0JBQWtC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Q0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUN2RCxNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRTNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLFlBQVksYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUN2RCxNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBRTNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -4,7 +4,7 @@ import { GenericMockResource } from './genericMockResource';
|
|
|
4
4
|
export declare class ComplexMockManager extends ManagerMixin<GenericMockResource> {
|
|
5
5
|
static resource: string;
|
|
6
6
|
static methods: string[];
|
|
7
|
-
protected
|
|
7
|
+
protected postListHandler(objects: GenericMockResource[] | AsyncGenerator<GenericMockResource>, args: ResourceArguments): AsyncGenerator<GenericMockResource, any, any> | GenericMockResource[];
|
|
8
8
|
protected postGetHandler(object: GenericMockResource, identifier: string, args: ResourceArguments): GenericMockResource;
|
|
9
9
|
protected postCreateHandler(object: GenericMockResource, args: ResourceArguments): GenericMockResource;
|
|
10
10
|
protected postUpdateHandler(object: GenericMockResource, identifier: string, args: ResourceArguments): GenericMockResource;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { ManagerMixin } from '../../../../lib/mixins';
|
|
3
3
|
export class ComplexMockManager extends ManagerMixin {
|
|
4
4
|
static resource = 'this_resource_does_not_exist';
|
|
5
|
-
static methods = ['
|
|
6
|
-
|
|
7
|
-
console.log('Executing the "post
|
|
5
|
+
static methods = ['list', 'get', 'create', 'update', 'delete'];
|
|
6
|
+
postListHandler(objects, args) {
|
|
7
|
+
console.log('Executing the "post list" handler');
|
|
8
8
|
return objects;
|
|
9
9
|
}
|
|
10
10
|
postGetHandler(object, identifier, args) {
|
|
@@ -24,4 +24,4 @@ export class ComplexMockManager extends ManagerMixin {
|
|
|
24
24
|
return identifier;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxleE1vY2tNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NwZWMvbWl4aW5zL21hbmFnZXJNaXhpbi9tb2Nrcy9jb21wbGV4TW9ja01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEZBQTBGO0FBRTFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUt0RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBaUM7SUFDdkUsTUFBTSxDQUFDLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQztJQUNqRCxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXJELGVBQWUsQ0FDdkIsT0FBb0UsRUFDcEUsSUFBdUI7UUFFdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxjQUFjLENBQ3RCLE1BQTJCLEVBQzNCLFVBQWtCLEVBQ2xCLElBQXVCO1FBRXZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUNoRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsaUJBQWlCLENBQUMsTUFBMkIsRUFBRSxJQUF1QjtRQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLGlCQUFpQixDQUN6QixNQUEyQixFQUMzQixVQUFrQixFQUNsQixJQUF1QjtRQUV2QixPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLGlCQUFpQixDQUFDLFVBQWtCLEVBQUUsSUFBdUI7UUFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUMifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ManagerMixin } from '../../../../lib/mixins';
|
|
2
2
|
export class EmptyMockManager extends ManagerMixin {
|
|
3
3
|
static resource = 'this_resource_does_not_exist';
|
|
4
|
-
static methods = ['
|
|
4
|
+
static methods = ['list', 'get', 'create', 'update', 'delete'];
|
|
5
5
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHlNb2NrTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zcGVjL21peGlucy9tYW5hZ2VyTWl4aW4vbW9ja3MvZW1wdHlNb2NrTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJdEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQWlDO0lBQ3JFLE1BQU0sQ0FBQyxRQUFRLEdBQUcsOEJBQThCLENBQUM7SUFDakQsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyJ9
|
|
@@ -15,7 +15,7 @@ export class MockAxiosInstance extends Axios {
|
|
|
15
15
|
}
|
|
16
16
|
// @ts-ignore: return type is not assignable
|
|
17
17
|
async request(config) {
|
|
18
|
-
const { method, url, params, data, } = config;
|
|
18
|
+
const { method, url, params, data, headers, } = config;
|
|
19
19
|
const usingMethod = method || 'get';
|
|
20
20
|
const usingBaseURL = this.baseURL || '';
|
|
21
21
|
const query = url?.includes('?') ? url.split('?').slice(-1)[0].split('&') : [];
|
|
@@ -27,11 +27,12 @@ export class MockAxiosInstance extends Axios {
|
|
|
27
27
|
baseURL: usingBaseURL,
|
|
28
28
|
url: usableURL,
|
|
29
29
|
params: completeParams,
|
|
30
|
-
json: data,
|
|
30
|
+
json: JSON.parse(data || '{}'),
|
|
31
|
+
headers: headers || {},
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
export function createAxiosInstance(config) {
|
|
35
36
|
return new MockAxiosInstance(config);
|
|
36
37
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpb3NJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zcGVjL21vY2tzL2NsaWVudC9heGlvc0luc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQXNCLE1BQU0sT0FBTyxDQUFDO0FBRWxELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLEtBQUs7SUFDMUMsTUFBTSxDQUFxQjtJQUMzQixPQUFPLENBQXFCO0lBQzVCLE1BQU0sQ0FBc0I7SUFDNUIsSUFBSSxDQUFzQjtJQUUxQixZQUFZLE1BQTJCO1FBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLE1BQU0sRUFDSixNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEdBQzFCLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsNENBQTRDO0lBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBMEI7UUFDdEMsTUFBTSxFQUNKLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEdBQ25DLEdBQUcsTUFBTSxDQUFDO1FBQ1gsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNwQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9FLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxjQUFjLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxHQUFHLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25GLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRyxPQUFPLElBQUksWUFBWSxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxXQUFXO1lBQ25CLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLEdBQUcsRUFBRSxTQUFTO1lBQ2QsTUFBTSxFQUFFLGNBQWM7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztZQUM5QixPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUU7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQTJCO0lBQzdELE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QyxDQUFDIn0=
|
|
@@ -5,6 +5,7 @@ export declare class MockResponse {
|
|
|
5
5
|
method: string;
|
|
6
6
|
url: string;
|
|
7
7
|
json: Record<string, any> | undefined;
|
|
8
|
+
requestHeaders: Record<string, any>;
|
|
8
9
|
constructor(config: Record<string, any>);
|
|
9
10
|
get data(): {
|
|
10
11
|
id: string;
|
|
@@ -19,12 +20,14 @@ export declare class MockResponse {
|
|
|
19
20
|
url?: undefined;
|
|
20
21
|
params?: undefined;
|
|
21
22
|
json?: undefined;
|
|
23
|
+
headers?: undefined;
|
|
22
24
|
} | {
|
|
23
25
|
id: string;
|
|
24
26
|
method: string;
|
|
25
27
|
url: string;
|
|
26
28
|
params: Record<string, any>;
|
|
27
29
|
json: Record<string, any> | undefined;
|
|
30
|
+
headers: Record<string, any>;
|
|
28
31
|
};
|
|
29
32
|
get headers(): {
|
|
30
33
|
link: string;
|
|
@@ -5,10 +5,12 @@ export class MockResponse {
|
|
|
5
5
|
method;
|
|
6
6
|
url;
|
|
7
7
|
json;
|
|
8
|
+
requestHeaders;
|
|
8
9
|
constructor(config) {
|
|
9
|
-
const { method, baseURL, url, params, json, } = config;
|
|
10
|
+
const { method, baseURL, url, params, json, headers, } = config;
|
|
10
11
|
this.baseURL = baseURL;
|
|
11
12
|
this.params = params;
|
|
13
|
+
this.requestHeaders = headers || {};
|
|
12
14
|
let page;
|
|
13
15
|
if (method === 'get' && url.charAt(url.length - 1) === 's') {
|
|
14
16
|
page = this.params.page || 1;
|
|
@@ -33,12 +35,16 @@ export class MockResponse {
|
|
|
33
35
|
page: this.page,
|
|
34
36
|
}));
|
|
35
37
|
}
|
|
38
|
+
const urlParts = this.url.split('/');
|
|
39
|
+
const hasIdentifier = urlParts.length > 2 && urlParts[2];
|
|
40
|
+
const id = hasIdentifier ? urlParts[2] : 'idx';
|
|
36
41
|
return {
|
|
37
|
-
id
|
|
42
|
+
id,
|
|
38
43
|
method: this.method,
|
|
39
44
|
url: this.url,
|
|
40
45
|
params: this.params,
|
|
41
46
|
json: this.json,
|
|
47
|
+
headers: this.requestHeaders,
|
|
42
48
|
};
|
|
43
49
|
}
|
|
44
50
|
get headers() {
|
|
@@ -54,4 +60,4 @@ export class MockResponse {
|
|
|
54
60
|
return Object.entries(this.params).map(([key, value]) => `${key}=${value}`);
|
|
55
61
|
}
|
|
56
62
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc3BlYy9tb2Nrcy9jbGllbnQvcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFlBQVk7SUFDdkIsT0FBTyxDQUFTO0lBQ2hCLE1BQU0sQ0FBc0I7SUFDNUIsSUFBSSxDQUFxQjtJQUN6QixNQUFNLENBQVM7SUFDZixHQUFHLENBQVM7SUFDWixJQUFJLENBQWtDO0lBQ3RDLGNBQWMsQ0FBc0I7SUFFcEMsWUFBWSxNQUEyQjtRQUNyQyxNQUFNLEVBQ0osTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEdBQzVDLEdBQUcsTUFBTSxDQUFDO1FBRVgsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBRXBDLElBQUksSUFBSSxDQUFDO1FBQ1QsSUFBSSxNQUFNLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMzRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzFFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDdEMsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQy9DLE9BQU87WUFDTCxFQUFFO1lBQ0YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDOUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVFLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sZUFBZTthQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRiJ9
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import sinon, { SinonStub } from 'sinon';
|
|
2
|
-
export declare function mockAxios(): sinon.SinonStub<[config?: import("axios").
|
|
2
|
+
export declare function mockAxios(): sinon.SinonStub<[config?: import("axios").CreateAxiosDefaults<any> | undefined], import("axios").AxiosInstance>;
|
|
3
3
|
export declare function mockConsoleLog(): sinon.SinonStub<[message?: any, ...optionalParams: any[]], void>;
|
|
4
4
|
export declare function restore(stub: SinonStub): void;
|
|
@@ -13,7 +13,7 @@ test.after((t) => {
|
|
|
13
13
|
});
|
|
14
14
|
test('"Paginate" pagination', async (t) => {
|
|
15
15
|
const client = axios.create({ baseURL: 'https://test.com' });
|
|
16
|
-
const data = paginate({ client, path: '/movements' });
|
|
16
|
+
const data = paginate({ client, path: '/movements', headers: {} });
|
|
17
17
|
t.assert(isAsyncGenerator(data));
|
|
18
18
|
const array = [];
|
|
19
19
|
for await (const element of data) {
|
|
@@ -22,4 +22,4 @@ test('"Paginate" pagination', async (t) => {
|
|
|
22
22
|
}
|
|
23
23
|
t.assert(array.length === 100);
|
|
24
24
|
});
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGUuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zcGVjL3BhZ2luYXRvci9wYWdpbmF0ZS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLEtBQUssQ0FBQztBQUN2QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9ELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNoQixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxFQUFFLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDZixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzdELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRW5FLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVqQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFFakIsSUFBSSxLQUFLLEVBQUUsTUFBTSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -12,15 +12,17 @@ test.after((t) => {
|
|
|
12
12
|
});
|
|
13
13
|
test('"Request" request response', async (t) => {
|
|
14
14
|
const client = axios.create({ baseURL: 'https://test.com' });
|
|
15
|
-
const data = await request({ client, path: '/movements' });
|
|
15
|
+
const data = await request({ client, path: '/movements', headers: {} });
|
|
16
16
|
t.assert('next' in data);
|
|
17
17
|
t.assert('elements' in data);
|
|
18
18
|
t.assert(Array.isArray(data.elements));
|
|
19
19
|
});
|
|
20
20
|
test('"Request" request params get passed to next URL', async (t) => {
|
|
21
21
|
const client = axios.create({ baseURL: 'https://test.com' });
|
|
22
|
-
const data = await request({
|
|
22
|
+
const data = await request({
|
|
23
|
+
client, path: '/movements', headers: {}, params: { link_token: 'sample_link_token' },
|
|
24
|
+
});
|
|
23
25
|
t.assert('next' in data);
|
|
24
|
-
t.assert(data.next.includes('link_token=sample_link_token'));
|
|
26
|
+
t.assert(data.next && data.next.includes('link_token=sample_link_token'));
|
|
25
27
|
});
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NwZWMvcGFnaW5hdG9yL3JlcXVlc3Quc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxLQUFLLENBQUM7QUFDdkIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNoQixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxFQUFFLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDZixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQzdDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzdELE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFeEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLGlEQUFpRCxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUNsRSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQztRQUN6QixNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRTtLQUNyRixDQUFDLENBQUM7SUFFSCxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQyxDQUFDIn0=
|
|
@@ -17,4 +17,4 @@ test('"objetizeGenerator" generator objetization', async (t) => {
|
|
|
17
17
|
t.assert(object instanceof ExampleClass);
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZXRpemVHZW5lcmF0b3Iuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zcGVjL3V0aWxzL29iamV0aXplR2VuZXJhdG9yLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sS0FBSyxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3BCLE1BQU0sR0FBRyxHQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDM0IsR0FBRyxDQUFDLE1BQU0sR0FBRyxrQkFBdUMsQ0FBQyxDQUFDLGVBQWU7QUFDdkUsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsNENBQTRDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQzdELE1BQU0sR0FBRyxHQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDM0IsTUFBTSxTQUFTLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEYsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFFL0MsSUFBSSxLQUFLLEVBQUUsTUFBTSxNQUFNLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBWSxZQUFZLENBQUMsQ0FBQztJQUMzQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -7,4 +7,4 @@ export async function* getGenerator() {
|
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0R2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NwZWMvdXRpbHMvc2hhcmVkL2dldEdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxZQUFZO0lBQ2pDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzNDLE1BQU07WUFDSixFQUFFLEVBQUUscUJBQXFCO1lBQ3pCLElBQUksRUFBRSxhQUFhO1lBQ25CLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { WebhookSignatureError } from '../lib/errors';
|
|
3
|
+
import { WebhookSignature } from '../lib/webhook';
|
|
4
|
+
const testPayloadRaw = `{
|
|
5
|
+
"id": "evt_2AaZeLCz0GjOW5zj",
|
|
6
|
+
"type": "payment_intent.succeeded",
|
|
7
|
+
"mode": "test",
|
|
8
|
+
"created_at": "2025-04-05T21:57:31.834Z",
|
|
9
|
+
"data": {
|
|
10
|
+
"id": "pi_2vKOKniSGXRhXTKrJ67VXZxGCVt",
|
|
11
|
+
"mode": "test",
|
|
12
|
+
"amount": 1,
|
|
13
|
+
"object": "payment_intent",
|
|
14
|
+
"status": "succeeded",
|
|
15
|
+
"currency": "MXN",
|
|
16
|
+
"metadata": {},
|
|
17
|
+
"created_at": "2025-04-05T21:57:17Z",
|
|
18
|
+
"expires_at": null,
|
|
19
|
+
"error_reason": null,
|
|
20
|
+
"payment_type": "bank_transfer",
|
|
21
|
+
"reference_id": null,
|
|
22
|
+
"widget_token": null,
|
|
23
|
+
"customer_email": null,
|
|
24
|
+
"sender_account": {
|
|
25
|
+
"type": "checking_account",
|
|
26
|
+
"number": "501514890244223279",
|
|
27
|
+
"holder_id": "mfiu593501oe4",
|
|
28
|
+
"institution_id": "mx_stp"
|
|
29
|
+
},
|
|
30
|
+
"business_profile": null,
|
|
31
|
+
"transaction_date": null,
|
|
32
|
+
"recipient_account": {
|
|
33
|
+
"type": "checking_account",
|
|
34
|
+
"number": "646180357600000000",
|
|
35
|
+
"holder_id": "fsm211008hz9",
|
|
36
|
+
"institution_id": "mx_stp"
|
|
37
|
+
},
|
|
38
|
+
"payment_type_options": {}
|
|
39
|
+
},
|
|
40
|
+
"object": "event"
|
|
41
|
+
}`;
|
|
42
|
+
const testPayload = testPayloadRaw.replace(/\s+/g, '');
|
|
43
|
+
const testSecret = 'whsec_test_secret';
|
|
44
|
+
const testTimestamp = 1743890251;
|
|
45
|
+
const testHeader = `t=${testTimestamp},v1=11b98dd8f5500109246aa4d9875fad2e97d462560b012a5f50ff924411de0b0f`;
|
|
46
|
+
const getCurrentTimestamp = () => Math.floor(Date.now() / 1000);
|
|
47
|
+
test('WebhookSignature.verifyHeader should succeed for valid signature and recent timestamp', (t) => {
|
|
48
|
+
const largeTolerance = Math.abs(getCurrentTimestamp() - testTimestamp) + 100;
|
|
49
|
+
t.notThrows(() => WebhookSignature.verifyHeader(testPayload, testHeader, testSecret, largeTolerance));
|
|
50
|
+
});
|
|
51
|
+
test('WebhookSignature.verifyHeader should throw error for signature mismatch', (t) => {
|
|
52
|
+
const badHeader = `t=${testTimestamp},v1=bad_signature`;
|
|
53
|
+
const largeTolerance = Math.abs(getCurrentTimestamp() - testTimestamp) + 100;
|
|
54
|
+
const error = t.throws(() => {
|
|
55
|
+
WebhookSignature.verifyHeader(testPayload, badHeader, testSecret, largeTolerance);
|
|
56
|
+
}, { instanceOf: WebhookSignatureError });
|
|
57
|
+
t.is(error?.message, 'Signature mismatch. The webhook signature is not valid.');
|
|
58
|
+
});
|
|
59
|
+
test('WebhookSignature.verifyHeader should throw error for old timestamp', (t) => {
|
|
60
|
+
const error = t.throws(() => {
|
|
61
|
+
WebhookSignature.verifyHeader(testPayload, testHeader, testSecret);
|
|
62
|
+
}, { instanceOf: WebhookSignatureError });
|
|
63
|
+
t.true(error?.message.startsWith('Timestamp outside the tolerance zone'));
|
|
64
|
+
});
|
|
65
|
+
test('WebhookSignature.verifyHeader should throw for empty header string', (t) => {
|
|
66
|
+
const error = t.throws(() => {
|
|
67
|
+
WebhookSignature.verifyHeader(testPayload, '', testSecret);
|
|
68
|
+
}, { instanceOf: WebhookSignatureError });
|
|
69
|
+
t.is(error?.message, 'Missing Fintoc-Signature header.');
|
|
70
|
+
});
|
|
71
|
+
test('WebhookSignature.verifyHeader should throw for header with empty timestamp and signature values', (t) => {
|
|
72
|
+
const header = 't=,v1=';
|
|
73
|
+
const error = t.throws(() => {
|
|
74
|
+
WebhookSignature.verifyHeader(testPayload, header, testSecret);
|
|
75
|
+
}, { instanceOf: WebhookSignatureError });
|
|
76
|
+
t.is(error?.message, 'Unable to extract timestamp and signatures from header');
|
|
77
|
+
});
|
|
78
|
+
test('WebhookSignature.verifyHeader should throw for header with non-numeric timestamp', (t) => {
|
|
79
|
+
const header = 't=foo,v1=bar';
|
|
80
|
+
const error = t.throws(() => {
|
|
81
|
+
WebhookSignature.verifyHeader(testPayload, header, testSecret);
|
|
82
|
+
}, { instanceOf: WebhookSignatureError });
|
|
83
|
+
t.is(error?.message, 'Unable to extract timestamp and signatures from header');
|
|
84
|
+
});
|
|
85
|
+
test('WebhookSignature.verifyHeader should throw for header missing v1 part', (t) => {
|
|
86
|
+
const header = `t=${testTimestamp}`;
|
|
87
|
+
const error = t.throws(() => {
|
|
88
|
+
WebhookSignature.verifyHeader(testPayload, header, testSecret);
|
|
89
|
+
}, { instanceOf: WebhookSignatureError });
|
|
90
|
+
t.is(error?.message, 'Unable to extract timestamp and signatures from header');
|
|
91
|
+
});
|
|
92
|
+
test('WebhookSignature.verifyHeader should throw for header missing t part', (t) => {
|
|
93
|
+
const signature = '11b98dd8f5500109246aa4d9875fad2e97d462560b012a5f50ff924411de0b0f';
|
|
94
|
+
const header = `v1=${signature}`;
|
|
95
|
+
const error = t.throws(() => {
|
|
96
|
+
WebhookSignature.verifyHeader(testPayload, header, testSecret);
|
|
97
|
+
}, { instanceOf: WebhookSignatureError });
|
|
98
|
+
t.is(error?.message, 'Unable to extract timestamp and signatures from header');
|
|
99
|
+
});
|
|
100
|
+
test('WebhookSignature.verifyHeader should throw error for missing secret', (t) => {
|
|
101
|
+
const largeTolerance = Math.abs(getCurrentTimestamp() - testTimestamp) + 100;
|
|
102
|
+
const error = t.throws(() => {
|
|
103
|
+
WebhookSignature.verifyHeader(testPayload, testHeader, '', largeTolerance);
|
|
104
|
+
}, { instanceOf: WebhookSignatureError });
|
|
105
|
+
t.is(error?.message, 'Webhook secret is required for verification.');
|
|
106
|
+
});
|
|
107
|
+
test('WebhookSignature.verifyHeader should handle custom tolerance', (t) => {
|
|
108
|
+
const error = t.throws(() => {
|
|
109
|
+
WebhookSignature.verifyHeader(testPayload, testHeader, testSecret);
|
|
110
|
+
}, { instanceOf: WebhookSignatureError });
|
|
111
|
+
t.true(error?.message.startsWith('Timestamp outside the tolerance zone'));
|
|
112
|
+
const largeTolerance = Math.abs(getCurrentTimestamp() - testTimestamp) + 100;
|
|
113
|
+
t.notThrows(() => WebhookSignature.verifyHeader(testPayload, testHeader, testSecret, largeTolerance));
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9vay5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NwZWMvd2ViaG9vay5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLEtBQUssQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsTUFBTSxjQUFjLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxQ3JCLENBQUM7QUFDSCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN2RCxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQztBQUN2QyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUM7QUFDakMsTUFBTSxVQUFVLEdBQUcsS0FBSyxhQUFhLHNFQUFzRSxDQUFDO0FBRTVHLE1BQU0sbUJBQW1CLEdBQUcsR0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFFeEUsSUFBSSxDQUFDLHVGQUF1RixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDbEcsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUM3RSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FDN0MsV0FBVyxFQUNYLFVBQVUsRUFDVixVQUFVLEVBQ1YsY0FBYyxDQUNmLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLHlFQUF5RSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDcEYs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type GenericFunction = (...args: any[]) => any;
|