public void ConvertTextActivityToOmniFailoverMessage() { _activity.Text = "Test text"; var omniFailoverMessages = ToInfobipConverter.Convert(_activity, SCENARIO_KEY); Assert.NotNull(omniFailoverMessages); Assert.Single(omniFailoverMessages); var omniFailoverMessage = omniFailoverMessages.First(); Assert.Equal(omniFailoverMessage.ScenarioKey, SCENARIO_KEY); CheckDestinations(omniFailoverMessage.Destinations); var whatsAppMessage = omniFailoverMessage.WhatsApp; Assert.NotNull(whatsAppMessage); Assert.Equal(whatsAppMessage.Text, _activity.Text); Assert.Null(whatsAppMessage.FileUrl); Assert.Null(whatsAppMessage.LocationName); Assert.Null(whatsAppMessage.AudioUrl); Assert.Null(whatsAppMessage.Address); Assert.Null(whatsAppMessage.Latitude); Assert.Null(whatsAppMessage.Longitude); Assert.Null(whatsAppMessage.ImageUrl); Assert.Null(whatsAppMessage.VideoUrl); Assert.Null(whatsAppMessage.TemplateNamespace); Assert.Null(whatsAppMessage.TemplateData); Assert.Null(whatsAppMessage.TemplateName); Assert.Null(whatsAppMessage.Language); Assert.Null(whatsAppMessage.MediaTemplateData); }
public void ConvertActivityWithSinglePlaceEntityWithNonStringAddressFailoverMessage() { _activity.Entities = new List <Entity> { new Place { Address = new { Key = "value" } } }; Assert.Throws <Exception>(() => ToInfobipConverter.Convert(_activity, SCENARIO_KEY)); }
public void ConvertActivityWithSinglePlaceEntityWithoutGeoToOmniFailoverMessage() { _activity.Entities = new List <Entity> { new Place { Address = "Address" } }; Assert.Throws <Exception>(() => ToInfobipConverter.Convert(_activity, SCENARIO_KEY)); }
public void ConvertEmptyActivityWithCallbackData_Success() { var callbackData = new Dictionary <string, string> { { "BoolProperty", "true" }, { "NumberProperty", "12" }, { "StringProperty", "string" }, { "DateProperty", DateTimeOffset.MinValue.ToString() } }; _activity.AddInfobipCallbackData(callbackData); var messages = ToInfobipConverter.Convert(_activity, TestOptions.Get()); Assert.Empty(messages); }
public void ConvertTextActivityWithCallbackDataAddedWithExtensionMethod_Success() { var callbackData = new Dictionary <string, string> { { "BoolProperty", "true" }, { "NumberProperty", "12" }, { "StringProperty", "string" }, { "DateProperty", DateTimeOffset.MinValue.ToString() } }; _activity.Text = "Activity with callback data"; _activity.AddInfobipCallbackData(callbackData); var message = ToInfobipConverter.Convert(_activity, TestOptions.Get()).Single(); Assert.Equal(message.CallbackData, JsonConvert.SerializeObject(callbackData)); }
public void ConvertActivityWithSingleGeoCoordinateEntityToOmniFailoverMessage() { _activity.Entities = new List <Entity> { new GeoCoordinates { Latitude = 12.3456789, Longitude = 23.456789, Name = "Test" } }; var omniFailoverMessages = ToInfobipConverter.Convert(_activity, SCENARIO_KEY); Assert.NotNull(omniFailoverMessages); Assert.Single(omniFailoverMessages); var omniFailoverMessage = omniFailoverMessages.First(); CheckLocationMessage(omniFailoverMessage, _activity.Entities.First().GetAs <GeoCoordinates>()); }
public void ConvertActivityWithSmsChannelIdToOmniSmsFailoverMessage() { _activity.Text = "Test text"; _activity.ChannelId = InfobipChannel.Sms; var omniFailoverMessages = ToInfobipConverter.Convert(_activity, TestOptions.Get()); Assert.NotNull(omniFailoverMessages); Assert.Single(omniFailoverMessages); var omniFailoverMessage = omniFailoverMessages.First(); Assert.Equal(omniFailoverMessage.ScenarioKey, TestOptions.SmsScenarioKey); CheckDestinations(omniFailoverMessage.Destinations); Assert.NotNull(omniFailoverMessage); Assert.NotNull(omniFailoverMessage.Sms); }
public void ConvertActivityWithAudioAttachmentAndTextToOmniFailoverMessage() { var attachment = new Attachment { ContentUrl = "http://dummy-audio.com", ContentType = "audio/mp3" }; _activity.Attachments = new List <Attachment> { attachment }; _activity.Text = "Test text"; var omniFailoverMessages = ToInfobipConverter.Convert(_activity, SCENARIO_KEY); Assert.NotNull(omniFailoverMessages); Assert.Equal(2, omniFailoverMessages.Count); var omniFailoverMessage = omniFailoverMessages.First(); var omniFailoverMessage2 = omniFailoverMessages.ElementAt(1); Assert.Equal(omniFailoverMessage.ScenarioKey, SCENARIO_KEY); Assert.Equal(omniFailoverMessage2.ScenarioKey, SCENARIO_KEY); CheckDestinations(omniFailoverMessage.Destinations); CheckDestinations(omniFailoverMessage2.Destinations); var whatsAppMessage = omniFailoverMessage.WhatsApp; Assert.NotNull(whatsAppMessage); Assert.Equal(whatsAppMessage.Text, _activity.Text); Assert.Null(whatsAppMessage.FileUrl); Assert.Null(whatsAppMessage.LocationName); Assert.Null(whatsAppMessage.AudioUrl); Assert.Null(whatsAppMessage.Address); Assert.Null(whatsAppMessage.Latitude); Assert.Null(whatsAppMessage.Longitude); Assert.Null(whatsAppMessage.ImageUrl); Assert.Null(whatsAppMessage.VideoUrl); Assert.Null(whatsAppMessage.TemplateNamespace); Assert.Null(whatsAppMessage.TemplateData); Assert.Null(whatsAppMessage.TemplateName); Assert.Null(whatsAppMessage.Language); Assert.Null(whatsAppMessage.MediaTemplateData); CheckAudioMessage(omniFailoverMessage2, attachment); }
public void ConvertEmptyActivityWithCallbackData_Success() { var callbackData = new Dictionary <string, string> { { "BoolProperty", "true" }, { "NumberProperty", "12" }, { "StringProperty", "string" }, { "DateProperty", DateTimeOffset.MinValue.ToString() } }; var entityCallbackData = new InfobipCallbackData(callbackData); _activity.Entities = new List <Entity> { entityCallbackData }; var messages = ToInfobipConverter.Convert(_activity, SCENARIO_KEY); Assert.False(messages.Any()); }
public void ConvertActivityWithMultipleGeoCoordinateEntityToOmniFailoverMessage() { _activity.Entities = new List <Entity> { new GeoCoordinates { Latitude = 12.3456789, Longitude = 23.456789, Name = "Test" }, new GeoCoordinates { Latitude = 45.56789, Longitude = 87.12345, Name = "Test2" } }; var omniFailoverMessages = ToInfobipConverter.Convert(_activity, SCENARIO_KEY); Assert.NotNull(omniFailoverMessages); Assert.Equal(2, omniFailoverMessages.Count); for (var i = 0; i < omniFailoverMessages.Count; i++) { CheckLocationMessage(omniFailoverMessages.ElementAt(i), _activity.Entities.ElementAt(i).GetAs <GeoCoordinates>()); } }
public void ConvertTextActivityWithCallbackData_Success() { var callbackData = new Dictionary <string, string> { { "BoolProperty", "true" }, { "NumberProperty", "12" }, { "StringProperty", "string" }, { "DateProperty", DateTimeOffset.MinValue.ToString() } }; var entityCallbackData = new InfobipCallbackData(callbackData); _activity.Text = "Activity with callback data"; _activity.Entities = new List <Entity> { entityCallbackData }; var message = ToInfobipConverter.Convert(_activity, SCENARIO_KEY).Single(); Assert.Equal(message.CallbackData, entityCallbackData.Properties.ToInfobipCallbackDataJson()); }
public void ConvertActivityWithAudioAttachmentToOmniFailoverMessage() { var attachment = new Attachment { ContentUrl = "http://dummy-audio.com", ContentType = "audio/mp3" }; _activity.Attachments = new List <Attachment> { attachment }; var omniFailoverMessages = ToInfobipConverter.Convert(_activity, SCENARIO_KEY); Assert.NotNull(omniFailoverMessages); Assert.Single(omniFailoverMessages); var omniFailoverMessage = omniFailoverMessages.First(); Assert.Equal(omniFailoverMessage.ScenarioKey, SCENARIO_KEY); CheckDestinations(omniFailoverMessage.Destinations); CheckAudioMessage(omniFailoverMessage, attachment); }
public void ConvertActivityWithFileAttachmentToOmniFailoverMessage() { var attachment = new Attachment { ContentUrl = "http://dummy-file.com", ContentType = "application/pdf" }; _activity.Attachments = new List <Attachment> { attachment }; var omniFailoverMessages = ToInfobipConverter.Convert(_activity, SCENARIO_KEY); Assert.NotNull(omniFailoverMessages); Assert.Single(omniFailoverMessages); var omniFailoverMessage = omniFailoverMessages.First(); Assert.Equal(omniFailoverMessage.ScenarioKey, SCENARIO_KEY); CheckDestinations(omniFailoverMessage.Destinations); var whatsAppMessage = omniFailoverMessage.WhatsApp; Assert.NotNull(whatsAppMessage); Assert.Null(whatsAppMessage.Text); Assert.Equal(whatsAppMessage.FileUrl, attachment.ContentUrl); Assert.Null(whatsAppMessage.LocationName); Assert.Null(whatsAppMessage.AudioUrl); Assert.Null(whatsAppMessage.Address); Assert.Null(whatsAppMessage.Latitude); Assert.Null(whatsAppMessage.Longitude); Assert.Null(whatsAppMessage.ImageUrl); Assert.Null(whatsAppMessage.VideoUrl); Assert.Null(whatsAppMessage.TemplateNamespace); Assert.Null(whatsAppMessage.TemplateData); Assert.Null(whatsAppMessage.TemplateName); Assert.Null(whatsAppMessage.Language); Assert.Null(whatsAppMessage.MediaTemplateData); }
public void ConvertTextActivityToOmniFailoverMessage() { Activity activity = null; Assert.Throws <ArgumentNullException>(() => ToInfobipConverter.Convert(activity, TestOptions.Get())); }
public void ConvertActivityWithRecipient_ThrowException() { _activity.Recipient = null; Assert.Throws <ValidationException>(() => ToInfobipConverter.Convert(_activity, TestOptions.Get())); }
public void ConvertActivityWithTemplateAttachmentToOmniFailoverMessage() { var templateMessage = new InfobipWhatsAppTemplateMessage { TemplateNamespace = "template_namespace", TemplateData = new[] { "one", "two" }, TemplateName = "template_name", Language = "en", MediaTemplateData = new InfobipWhatsAppMediaTemplateData { MediaTemplateHeader = new InfobipWhatsAppMediaTemplateHeader { DocumentFilename = "Test file name" }, MediaTemplateBody = new InfobipWhatsAppMediaTemplateBody { Placeholders = new[] { "three", "four" } } } }; _activity.Attachments = new List <Attachment>(); _activity.Attachments.Add(new InfobipAttachment(templateMessage)); var omniFailoverMessages = ToInfobipConverter.Convert(_activity, SCENARIO_KEY); Assert.NotNull(omniFailoverMessages); Assert.Single(omniFailoverMessages); var omniFailoverMessage = omniFailoverMessages.First(); Assert.Equal(omniFailoverMessage.ScenarioKey, SCENARIO_KEY); CheckDestinations(omniFailoverMessage.Destinations); var whatsAppMessage = omniFailoverMessage.WhatsApp; Assert.NotNull(whatsAppMessage); Assert.Null(whatsAppMessage.Text); Assert.Null(whatsAppMessage.FileUrl); Assert.Null(whatsAppMessage.LocationName); Assert.Null(whatsAppMessage.AudioUrl); Assert.Null(whatsAppMessage.Address); Assert.Null(whatsAppMessage.Latitude); Assert.Null(whatsAppMessage.Longitude); Assert.Null(whatsAppMessage.ImageUrl); Assert.Null(whatsAppMessage.VideoUrl); Assert.Equal(whatsAppMessage.TemplateNamespace, templateMessage.TemplateNamespace); Assert.NotNull(whatsAppMessage.TemplateData); Assert.Equal(whatsAppMessage.TemplateData.Length, templateMessage.TemplateData.Length); Assert.Equal(whatsAppMessage.TemplateName, templateMessage.TemplateName); Assert.Equal(whatsAppMessage.Language, templateMessage.Language); Assert.NotNull(whatsAppMessage.MediaTemplateData); Assert.Equal(whatsAppMessage.MediaTemplateData.MediaTemplateBody.Placeholders.Length, templateMessage.MediaTemplateData.MediaTemplateBody.Placeholders.Length); Assert.Equal(whatsAppMessage.MediaTemplateData.MediaTemplateHeader.DocumentFilename, templateMessage.MediaTemplateData.MediaTemplateHeader.DocumentFilename); Assert.Null(whatsAppMessage.MediaTemplateData.MediaTemplateHeader.Latitude); Assert.Null(whatsAppMessage.MediaTemplateData.MediaTemplateHeader.Longitude); Assert.Null(whatsAppMessage.MediaTemplateData.MediaTemplateHeader.ImageUrl); Assert.Null(whatsAppMessage.MediaTemplateData.MediaTemplateHeader.DocumentUrl); Assert.Null(whatsAppMessage.MediaTemplateData.MediaTemplateHeader.TextPlaceholder); Assert.Null(whatsAppMessage.MediaTemplateData.MediaTemplateHeader.VideoUrl); }