public void EventToActivityAsyncShouldThrowArgumentNullException()
        {
            var slackApi = new Mock <SlackClientWrapper>(_testOptions);

            Assert.Throws <ArgumentNullException>(() =>
            {
                SlackHelper.EventToActivity(null, slackApi.Object);
            });
        }
        public void EventToActivityAsyncShouldReturnActivity()
        {
            var slackApi = new Mock <SlackClientWrapper>(_testOptions);

            var payload   = File.ReadAllText(Directory.GetCurrentDirectory() + @"/Files/MessageBody.json");
            var slackBody = JsonConvert.DeserializeObject <EventRequest>(payload);

            var activity = SlackHelper.EventToActivity(slackBody, slackApi.Object);

            Assert.Equal(slackBody.Event.AdditionalProperties["text"].ToString(), activity.Text);
        }
        public void EventToActivityAsyncShouldReturnActivityWithAttachmentsWhenFileSharing()
        {
            var slackApi = new Mock <SlackClientWrapper>(_testOptions);

            var payload   = File.ReadAllText(Directory.GetCurrentDirectory() + @"/Files/MessageBodyWithFileShare.json");
            var slackBody = JsonConvert.DeserializeObject <EventRequest>(payload);

            var activity = SlackHelper.EventToActivity(slackBody, slackApi.Object);

            Assert.Equal(ActivityTypes.Message, activity.Type);
            Assert.Equal(slackBody.Event.Type, activity.Type);
            Assert.Equal(slackBody.Event.AdditionalProperties["text"].ToString(), activity.Text);
            Assert.Equal(slackBody.Event.AdditionalProperties["files"][0]["mimetype"].ToString(), activity.Attachments[0].ContentType);
            Assert.Equal(slackBody.Event.AdditionalProperties["files"][0]["url_private_download"].ToString(), activity.Attachments[0].ContentUrl);
            Assert.Equal(slackBody.Event.AdditionalProperties["files"][0]["name"].ToString(), activity.Attachments[0].Name);
        }