fintoc 1.19.2 → 1.21.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/build/main/lib/core.d.ts +2 -1
- package/build/main/lib/core.js +2 -1
- package/build/main/lib/managers/eventsManager.d.ts +11 -0
- package/build/main/lib/managers/eventsManager.js +14 -0
- package/build/main/lib/managers/index.d.ts +1 -0
- package/build/main/lib/managers/index.js +2 -1
- package/build/main/lib/managers/webhookEndpointsManager.d.ts +3 -0
- package/build/main/lib/managers/webhookEndpointsManager.js +6 -2
- package/build/main/lib/resources/event.d.ts +3 -0
- package/build/main/lib/resources/event.js +8 -0
- package/build/main/spec/integration.spec.js +21 -1
- package/build/main/spec/managers/eventsManager.spec.d.ts +1 -0
- package/build/main/spec/managers/eventsManager.spec.js +69 -0
- package/build/main/spec/managers/webhookEndpointsManager.spec.d.ts +1 -0
- package/build/main/spec/managers/webhookEndpointsManager.spec.js +38 -0
- package/build/module/lib/core.d.ts +2 -1
- package/build/module/lib/core.js +4 -2
- package/build/module/lib/managers/eventsManager.d.ts +11 -0
- package/build/module/lib/managers/eventsManager.js +10 -0
- package/build/module/lib/managers/index.d.ts +1 -0
- package/build/module/lib/managers/index.js +2 -1
- package/build/module/lib/managers/webhookEndpointsManager.d.ts +3 -0
- package/build/module/lib/managers/webhookEndpointsManager.js +6 -2
- package/build/module/lib/resources/event.d.ts +3 -0
- package/build/module/lib/resources/event.js +4 -0
- package/build/module/spec/integration.spec.js +21 -1
- package/build/module/spec/managers/eventsManager.spec.d.ts +1 -0
- package/build/module/spec/managers/eventsManager.spec.js +64 -0
- package/build/module/spec/managers/webhookEndpointsManager.spec.d.ts +1 -0
- package/build/module/spec/managers/webhookEndpointsManager.spec.js +33 -0
- package/package.json +1 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { Client } from '../../lib/client';
|
|
3
|
+
import { EventsManager } from '../../lib/managers';
|
|
4
|
+
import { Event } from '../../lib/resources/event';
|
|
5
|
+
import { mockAxios, restore } from '../mocks/initializers';
|
|
6
|
+
test.before((t) => {
|
|
7
|
+
const ctx = t.context;
|
|
8
|
+
ctx.axiosMock = mockAxios();
|
|
9
|
+
});
|
|
10
|
+
test.after((t) => {
|
|
11
|
+
const ctx = t.context;
|
|
12
|
+
restore(ctx.axiosMock);
|
|
13
|
+
});
|
|
14
|
+
test.beforeEach((t) => {
|
|
15
|
+
const ctx = t.context;
|
|
16
|
+
ctx.client = new Client({
|
|
17
|
+
baseUrl: 'https://test.com',
|
|
18
|
+
apiKey: 'super_secret_api_key',
|
|
19
|
+
userAgent: 'fintoc-node/test',
|
|
20
|
+
});
|
|
21
|
+
ctx.path = '/v1/events';
|
|
22
|
+
});
|
|
23
|
+
test('"EventsManager.trigger" posts to the trigger endpoint with type and overrides', async (t) => {
|
|
24
|
+
const ctx = t.context;
|
|
25
|
+
const manager = new EventsManager(ctx.path, ctx.client);
|
|
26
|
+
const event = await manager.trigger({
|
|
27
|
+
type: 'payment_intent.succeeded',
|
|
28
|
+
overrides: { amount: 5000, currency: 'CLP' },
|
|
29
|
+
});
|
|
30
|
+
t.true(event instanceof Event);
|
|
31
|
+
t.is(event.method, 'post');
|
|
32
|
+
t.is(event.url, 'v1/events/trigger');
|
|
33
|
+
t.is(event.json.type, 'payment_intent.succeeded');
|
|
34
|
+
t.is(event.json.overrides.amount, 5000);
|
|
35
|
+
t.is(event.json.overrides.currency, 'CLP');
|
|
36
|
+
});
|
|
37
|
+
test('"EventsManager.trigger" works without overrides', async (t) => {
|
|
38
|
+
const ctx = t.context;
|
|
39
|
+
const manager = new EventsManager(ctx.path, ctx.client);
|
|
40
|
+
const event = await manager.trigger({ type: 'payment_intent.failed' });
|
|
41
|
+
t.true(event instanceof Event);
|
|
42
|
+
t.is(event.method, 'post');
|
|
43
|
+
t.is(event.url, 'v1/events/trigger');
|
|
44
|
+
t.is(event.json.type, 'payment_intent.failed');
|
|
45
|
+
});
|
|
46
|
+
test('"EventsManager.trigger" supports nested overrides', async (t) => {
|
|
47
|
+
const ctx = t.context;
|
|
48
|
+
const manager = new EventsManager(ctx.path, ctx.client);
|
|
49
|
+
const event = await manager.trigger({
|
|
50
|
+
type: 'payment_intent.succeeded',
|
|
51
|
+
overrides: {
|
|
52
|
+
payment_intent: {
|
|
53
|
+
amount: 5000,
|
|
54
|
+
currency: 'CLP',
|
|
55
|
+
metadata: { customer_id: 'cus_123' },
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
t.true(event instanceof Event);
|
|
60
|
+
t.is(event.json.overrides.payment_intent.amount, 5000);
|
|
61
|
+
t.is(event.json.overrides.payment_intent.currency, 'CLP');
|
|
62
|
+
t.is(event.json.overrides.payment_intent.metadata.customer_id, 'cus_123');
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzTWFuYWdlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NwZWMvbWFuYWdlcnMvZXZlbnRzTWFuYWdlci5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLEtBQUssQ0FBQztBQUV2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNoQixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxFQUFFLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDZixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUM7QUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDcEIsTUFBTSxHQUFHLEdBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUUzQixHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixTQUFTLEVBQUUsa0JBQWtCO0tBQzlCLENBQUMsQ0FBQztJQUNILEdBQUcsQ0FBQyxJQUFJLEdBQUcsWUFBWSxD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { Client } from '../../lib/client';
|
|
3
|
+
import { WebhookEndpointsManager } from '../../lib/managers';
|
|
4
|
+
import { WebhookEndpoint } from '../../lib/resources/webhookEndpoint';
|
|
5
|
+
import { mockAxios, restore } from '../mocks/initializers';
|
|
6
|
+
test.before((t) => {
|
|
7
|
+
const ctx = t.context;
|
|
8
|
+
ctx.axiosMock = mockAxios();
|
|
9
|
+
});
|
|
10
|
+
test.after((t) => {
|
|
11
|
+
const ctx = t.context;
|
|
12
|
+
restore(ctx.axiosMock);
|
|
13
|
+
});
|
|
14
|
+
test.beforeEach((t) => {
|
|
15
|
+
const ctx = t.context;
|
|
16
|
+
ctx.client = new Client({
|
|
17
|
+
baseUrl: 'https://test.com',
|
|
18
|
+
apiKey: 'super_secret_api_key',
|
|
19
|
+
userAgent: 'fintoc-node/test',
|
|
20
|
+
});
|
|
21
|
+
ctx.path = '/v1/webhook_endpoints';
|
|
22
|
+
});
|
|
23
|
+
test('"WebhookEndpointsManager.test" posts to the test endpoint', async (t) => {
|
|
24
|
+
const ctx = t.context;
|
|
25
|
+
const manager = new WebhookEndpointsManager(ctx.path, ctx.client);
|
|
26
|
+
const event = await manager.test('we_123', { type: 'payment_intent.succeeded' });
|
|
27
|
+
t.true(event instanceof WebhookEndpoint);
|
|
28
|
+
t.is(event.id, 'we_123');
|
|
29
|
+
t.is(event.method, 'post');
|
|
30
|
+
t.is(event.url, 'v1/webhook_endpoints/we_123/test');
|
|
31
|
+
t.is(event.json.type, 'payment_intent.succeeded');
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9va0VuZHBvaW50c01hbmFnZXIuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zcGVjL21hbmFnZXJzL3dlYmhvb2tFbmRwb2ludHNNYW5hZ2VyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sS0FBSyxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDaEIsTUFBTSxHQUFHLEdBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzQixHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ2YsTUFBTSxHQUFHLEdBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3BCLE1BQU0sR0FBRyxHQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFFM0IsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQztRQUN0QixPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsU0FBUyxFQUFFLGtCQUFrQjtLQUM5QixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBSSxDQUFDLDJEQUEyRCxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUM1RSxNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksdUJBQXVCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxDQUFDLENBQUM7SUFFakYsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLDBCQUEwQixDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDLENBQUMifQ==
|