public async Task ConvertWhatsAppUnsupportedMessageTypeToActivity() { var incomingMessage = new InfobipIncomingMessage <InfobipWhatsAppIncomingResult> { Results = new List <InfobipWhatsAppIncomingResult> { new InfobipWhatsAppIncomingResult { MessageId = "Unique message Id", From = "subscriber-number", To = "whatsapp-number", ReceivedAt = DateTimeOffset.UtcNow, IntegrationType = "WHATSAPP", Message = new InfobipIncomingWhatsAppMessage { Type = "UNSUPPORTED", }, } }, MessageCount = 1, PendingMessageCount = 0 }; var activities = await InfobipWhatsAppToActivity.Convert(incomingMessage.Results.Single(), _infobipClient.Object).ConfigureAwait(false); Assert.Null(activities); }
public async Task ConvertWhatsAppLocationMessageToActivity() { var incomingMessage = new InfobipIncomingMessage <InfobipWhatsAppIncomingResult> { Results = new List <InfobipWhatsAppIncomingResult> { new InfobipWhatsAppIncomingResult { MessageId = "Unique message Id", From = "subscriber-number", To = "whatsapp-number", ReceivedAt = DateTimeOffset.UtcNow, IntegrationType = "WHATSAPP", Message = new InfobipIncomingWhatsAppMessage { Type = InfobipIncomingMessageTypes.Location, Caption = "Message caption", Longitude = 15.9459228515625, Latitude = 45.793365478515625 }, Contact = new InfobipIncomingWhatsAppContact { Name = "Whatsapp Subscriber Name" }, Price = new InfobipIncomingPrice { PricePerMessage = 0, Currency = "GBP" }, } }, MessageCount = 1, PendingMessageCount = 0 }; var activity = await InfobipWhatsAppToActivity.Convert(incomingMessage.Results.Single(), _infobipClient.Object).ConfigureAwait(false); Assert.NotNull(activity); Assert.Equal(InfobipWhatsAppConstants.ChannelName, activity.ChannelId); VerifyResultCoreProperties(incomingMessage.Results[0], activity); VerifyResultLocationMessage(incomingMessage.Results[0].Message, activity); }
public async Task ConvertWhatsAppImageMessageToActivity() { var incomingMessage = new InfobipIncomingMessage <InfobipWhatsAppIncomingResult> { Results = new List <InfobipWhatsAppIncomingResult> { new InfobipWhatsAppIncomingResult { MessageId = "Unique message Id", From = "subscriber-number", To = "whatsapp-number", ReceivedAt = DateTimeOffset.UtcNow, IntegrationType = "WHATSAPP", Message = new InfobipIncomingWhatsAppMessage { Caption = "Message Caption", Type = InfobipIncomingMessageTypes.Image, Url = new Uri("https://infobip.api.media.endpoint") }, Contact = new InfobipIncomingWhatsAppContact { Name = "Whatsapp Subscriber Name" }, Price = new InfobipIncomingPrice { PricePerMessage = 0, Currency = "GBP" }, } }, MessageCount = 1, PendingMessageCount = 0 }; var activity = await InfobipWhatsAppToActivity.Convert(incomingMessage.Results.Single(), _infobipClient.Object).ConfigureAwait(false); Assert.NotNull(activity); Assert.Equal(InfobipWhatsAppConstants.ChannelName, activity.ChannelId); VerifyResultCoreProperties(incomingMessage.Results[0], activity); VerifyResultImageMessage(incomingMessage.Results[0].Message, activity); }
public async Task ConvertWhatsAppTextMessageToActivity() { var incomingMessage = new InfobipIncomingMessage { Results = new List <InfobipIncomingResult> { new InfobipIncomingResult { MessageId = "Unique message Id", From = "subscriber-number", To = "whatsapp-number", ReceivedAt = DateTimeOffset.UtcNow, IntegrationType = "WHATSAPP", Message = new InfobipIncomingWhatsAppMessage { Type = InfobipIncomingMessageTypes.Text, Text = "Text message to bot" }, Contact = new InfobipIncomingWhatsAppContact { Name = "Whatsapp Subscriber Name" }, Price = new InfobipIncomingPrice { PricePerMessage = 0, Currency = "GBP" }, } }, MessageCount = 1, PendingMessageCount = 0 }; var activity = (await InfobipWhatsAppToActivity.Convert(incomingMessage.Results.Single(), _infobipClient.Object).ConfigureAwait(false)); Assert.NotNull(activity); Assert.Equal(InfobipChannel.WhatsApp, activity.ChannelId); VerifyResultCoreProperties(incomingMessage.Results[0], activity); VerifyResultTextMessage(incomingMessage.Results[0].Message, activity); }