Skip to content

Commit 3d21375

Browse files
committed
api unit test
1 parent efa39ac commit 3d21375

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

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

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22
import { MultiChannelApi } from '../../../api';
33
import { Configuration } from '../../../configuration';
44
import {
5-
MultiChannelChannelListObject,
5+
MultiChannelChannelListRBMObject,
66
MultiChannelMessageChannelEnum,
77
PriorityEnum,
8-
RbmMessageContentText
8+
RbmMessageContentText,
9+
SmsMessageContent,
10+
MultiChannelMessageRequest,
11+
MessageDirectionEnum
912
} from '../../../models';
1013

1114
describe('MultiChannelApi', () => {
@@ -20,26 +23,40 @@ describe('MultiChannelApi', () => {
2023
const expiration = new Date(expirationTime).toISOString();
2124

2225
describe('createMultiChannelMessage', () => {
23-
test.skip('should create a multi-channel message', async () => { // skip because prism can't handle a oneOf with differing required fields
24-
const channelListObject: MultiChannelChannelListObject = {
26+
test('should create a multi-channel message', async () => {
27+
const content: SmsMessageContent = { text: "Hello World!" };
28+
29+
const channelListObject: MultiChannelChannelListRBMObject = {
2530
from: BW_NUMBER,
2631
applicationId: BW_MESSAGING_APPLICATION_ID,
2732
channel: MultiChannelMessageChannelEnum.Rbm,
28-
content: {
29-
text: "Hello World!"
30-
}
33+
content,
3134
};
3235

3336
const multiChannelMessageRequest: MultiChannelMessageRequest = {
3437
to: USER_NUMBER,
3538
tag: "tag",
36-
priority: PriorityEnum.HIGH,
39+
priority: PriorityEnum.High,
3740
expiration,
41+
channelList: [channelListObject],
3842
};
3943

40-
const { status, data } = await multiChannelApi.createMultiChannelMessage(BW_ACCOUNT_ID, multiChannelMessageRequest);
44+
const { status, data } = await multiChannelApi.createMultiChannelMessage(
45+
BW_ACCOUNT_ID,
46+
multiChannelMessageRequest
47+
);
4148

4249
expect(status).toEqual(202);
50+
expect(data.links).toBeArray();
51+
expect(data.data?.id).toBeString();
52+
expect(data.data?.time).toBeDateString();
53+
expect(data.data?.direction).toBeOneOf(Object.values(MessageDirectionEnum));
54+
expect(data.data?.to).toBeArray();
55+
expect(data.data?.tag).toBeString();
56+
expect(data.data?.priority).toBeOneOf(Object.values(PriorityEnum));
57+
expect(data.data?.expiration).toBeDateString();
58+
expect(data.data?.channelList).toBeArray();
59+
expect(data.data?.channelList![0].channel).toBeOneOf(Object.values(MultiChannelMessageChannelEnum));
4360
});
4461
});
4562
});

0 commit comments

Comments
 (0)