Skip to content

Commit 0106113

Browse files
committed
smoke test
1 parent 3d21375 commit 0106113

File tree

2 files changed

+119
-12
lines changed

2 files changed

+119
-12
lines changed

tests/smoke/multi-channel-api.test.ts

Lines changed: 117 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@ import {
55
MultiChannelChannelListObject,
66
MultiChannelMessageChannelEnum,
77
PriorityEnum,
8-
RbmMessageContentText
8+
RbmMessageContentText,
9+
SmsMessageContent,
10+
MmsMessageContent,
11+
RbmMessageContentText,
12+
MultiChannelMessageRequest,
13+
MessageDirectionEnum,
14+
RbmActionTypeEnum
915
} from '../../models';
1016

1117
describe('MultiChannelApi', () => {
@@ -18,27 +24,128 @@ describe('MultiChannelApi', () => {
1824
const expirationTime = Date.now() + 1000 * 60 * 60 * 24 + 60;
1925
const expiration = new Date(expirationTime).toISOString();
2026

21-
describe('createMultiChannelMessage', () => {
22-
test('should create a multi-channel message', async () => {
23-
const channelListObject: MultiChannelChannelListObject = {
27+
describe('createMultiChannelSMSMessage', () => {
28+
test('should create a multi-channel SMS message', async () => {
29+
const content: SmsMessageContent = { text: "Hello World!" };
30+
31+
const channelListObject: MultiChannelChannelListSMSObject = {
2432
from: BW_NUMBER,
2533
applicationId: BW_MESSAGING_APPLICATION_ID,
26-
channel: MultiChannelMessageChannelEnum.Rbm,
27-
content: {
28-
text: "Hello World!"
29-
}
34+
channel: MultiChannelMessageChannelEnum.Sms,
35+
content,
36+
};
37+
38+
const multiChannelMessageRequest: MultiChannelMessageRequest = {
39+
to: USER_NUMBER,
40+
tag: "tag",
41+
priority: PriorityEnum.High,
42+
expiration,
43+
channelList: [channelListObject],
44+
};
45+
46+
const { status, data } = await multiChannelApi.createMultiChannelMessage(
47+
BW_ACCOUNT_ID,
48+
multiChannelMessageRequest
49+
);
50+
51+
expect(status).toEqual(202);
52+
expect(data.links).toBeArray();
53+
expect(data.data?.id).toBeString();
54+
expect(data.data?.time).toBeDateString();
55+
expect(data.data?.direction).toBeOneOf(Object.values(MessageDirectionEnum));
56+
expect(data.data?.to).toBeArray();
57+
expect(data.data?.tag).toBeString();
58+
expect(data.data?.priority).toBeOneOf(Object.values(PriorityEnum));
59+
expect(data.data?.expiration).toBeDateString();
60+
expect(data.data?.channelList).toBeArray();
61+
expect(data.data?.channelList![0].channel).toEqual(MultiChannelMessageChannelEnum.Sms);
62+
});
63+
});
64+
65+
describe('createMultiChannelMMSMessage', () => {
66+
test('should create a multi-channel MMS message', async () => {
67+
const content: MmsMessageContent = {
68+
text: "Hello World!",
69+
media: [{ fileUrl: "https://example.com/image.jpg" }]
70+
};
71+
72+
const channelListObject: MultiChannelChannelListMMSObject = {
73+
from: BW_NUMBER,
74+
applicationId: BW_MESSAGING_APPLICATION_ID,
75+
channel: MultiChannelMessageChannelEnum.Mms,
76+
content,
3077
};
3178

3279
const multiChannelMessageRequest: MultiChannelMessageRequest = {
3380
to: USER_NUMBER,
3481
tag: "tag",
35-
priority: PriorityEnum.HIGH,
82+
priority: PriorityEnum.High,
83+
expiration,
3684
channelList: [channelListObject],
85+
};
86+
87+
const { status, data } = await multiChannelApi.createMultiChannelMessage(
88+
BW_ACCOUNT_ID,
89+
multiChannelMessageRequest
90+
);
91+
92+
expect(status).toEqual(202);
93+
expect(data.links).toBeArray();
94+
expect(data.data?.id).toBeString();
95+
expect(data.data?.time).toBeDateString();
96+
expect(data.data?.direction).toBeOneOf(Object.values(MessageDirectionEnum));
97+
expect(data.data?.to).toBeArray();
98+
expect(data.data?.tag).toBeString();
99+
expect(data.data?.priority).toBeOneOf(Object.values(PriorityEnum));
100+
expect(data.data?.expiration).toBeDateString();
101+
expect(data.data?.channelList).toBeArray();
102+
expect(data.data?.channelList![0].channel).toEqual(MultiChannelMessageChannelEnum.Mms);
103+
});
104+
});
105+
106+
describe('createMultiChannelRBMMessage', () => {
107+
test('should create a multi-channel RBM message', async () => {
108+
const content: RbmMessageContentText = {
109+
text: "Hello World!",
110+
suggestions: [{
111+
type: RbmActionTypeEnum.DialPhone,
112+
text: "Call Us",
113+
postbackData: "tel:+1234567890",
114+
phoneNumber: BW_NUMBER
115+
}]
116+
};
117+
118+
const channelListObject: MultiChannelChannelListRBMObject = {
119+
from: BW_NUMBER,
120+
applicationId: BW_MESSAGING_APPLICATION_ID,
121+
channel: MultiChannelMessageChannelEnum.Rbm,
122+
content,
123+
};
124+
125+
const multiChannelMessageRequest: MultiChannelMessageRequest = {
126+
to: USER_NUMBER,
127+
tag: "tag",
128+
priority: PriorityEnum.High,
37129
expiration,
130+
channelList: [channelListObject],
38131
};
39132

40-
const { status, data } = await multiChannelApi.createMultiChannelMessage(BW_ACCOUNT_ID, multiChannelMessageRequest);
133+
const { status, data } = await multiChannelApi.createMultiChannelMessage(
134+
BW_ACCOUNT_ID,
135+
multiChannelMessageRequest
136+
);
137+
41138
expect(status).toEqual(202);
139+
expect(data.links).toBeArray();
140+
expect(data.data?.id).toBeString();
141+
expect(data.data?.time).toBeDateString();
142+
expect(data.data?.direction).toBeOneOf(Object.values(MessageDirectionEnum));
143+
expect(data.data?.to).toBeArray();
144+
expect(data.data?.tag).toBeString();
145+
expect(data.data?.priority).toBeOneOf(Object.values(PriorityEnum));
146+
expect(data.data?.expiration).toBeDateString();
147+
expect(data.data?.channelList).toBeArray();
148+
expect(data.data?.channelList![0].channel).toEqual(MultiChannelMessageChannelEnum.Rbm);
42149
});
43150
});
44151
});

tests/unit/api/multi-channel-api.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ describe('MultiChannelApi', () => {
2626
test('should create a multi-channel message', async () => {
2727
const content: SmsMessageContent = { text: "Hello World!" };
2828

29-
const channelListObject: MultiChannelChannelListRBMObject = {
29+
const channelListObject: MultiChannelChannelListSMSObject = {
3030
from: BW_NUMBER,
3131
applicationId: BW_MESSAGING_APPLICATION_ID,
32-
channel: MultiChannelMessageChannelEnum.Rbm,
32+
channel: MultiChannelMessageChannelEnum.Sms,
3333
content,
3434
};
3535

0 commit comments

Comments
 (0)