22import { MultiChannelApi } from '../../../api' ;
33import { Configuration } from '../../../configuration' ;
44import {
5- MultiChannelChannelListObject ,
5+ MultiChannelChannelListRBMObject ,
66 MultiChannelMessageChannelEnum ,
77 PriorityEnum ,
8- RbmMessageContentText
8+ RbmMessageContentText ,
9+ SmsMessageContent ,
10+ MultiChannelMessageRequest ,
11+ MessageDirectionEnum
912} from '../../../models' ;
1013
1114describe ( '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