-
Notifications
You must be signed in to change notification settings - Fork 7
/
braintree.controller.spec.ts
67 lines (57 loc) · 1.88 KB
/
braintree.controller.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import { Test, TestingModule } from '@nestjs/testing';
import * as path from 'path';
import { ConfigModule, ConfigService } from 'nestjs-config';
import {
BraintreeModule,
BraintreeWebhookController,
BraintreeWebhookModule,
BraintreeSubscriptionCanceled,
BraintreeSubscriptionExpired,
} from './..';
import BraintreeProvider from '../braintree.provider';
import BraintreeWebhookProvider from '../braintree.webhook.provider';
class SubscriptionProvider {
@BraintreeSubscriptionCanceled()
canceled() {}
@BraintreeSubscriptionExpired()
expired() {}
}
describe('BraintreeWebhookController', async () => {
let module: TestingModule;
beforeEach(async () => {
module = await Test.createTestingModule({
imports: [
ConfigModule.load(
path.resolve(__dirname, '__stubs__', 'config', '*.ts'),
),
BraintreeModule.forRootAsync({
useFactory: async config => config.get('braintree'),
inject: [ConfigService],
}),
BraintreeWebhookModule,
],
providers: [SubscriptionProvider],
}).compile();
});
it('Webhook controller must instance', () => {
const controller = module.get<BraintreeWebhookController>(
BraintreeWebhookController,
);
expect(controller).toBeInstanceOf(BraintreeWebhookController);
});
it('webhookmodule should instance subscription provider', () => {
const provider = module.get<SubscriptionProvider>(SubscriptionProvider);
expect(provider).toBeInstanceOf(SubscriptionProvider);
});
it('wehook controller instances', () => {
const braintreeWebhookController = module.get<BraintreeWebhookController>(
BraintreeWebhookController,
);
expect(braintreeWebhookController.braintree).toBeInstanceOf(
BraintreeProvider,
);
expect(braintreeWebhookController.webhookProvider).toBeInstanceOf(
BraintreeWebhookProvider,
);
});
});