Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }