Example #1
0
        public void Given_Null_Parameters_When_BuildMessage_Invoked_Then_It_Should_Throw_Exception()
        {
            var options = new Mock <Options>();
            var handler = new MessageHandler();

            Action action = () => handler.BuildMessage(null, null);

            action.Should().Throw <ArgumentNullException>();

            action = () => handler.BuildMessage(options.Object, null);
            action.Should().Throw <ArgumentNullException>();
        }
Example #2
0
        public async Task Given_HttpClient_When_SendMessageAsync_Invoked_Then_It_Should_Return_Result(string message, HttpStatusCode statusCode, int expected)
        {
            var options = new Mock <Options>();

            options.SetupGet(p => p.Title).Returns("hello world");
            options.SetupGet(p => p.WebhookUri).Returns("https://localhost");

            var content  = new StringContent(message);
            var response = new HttpResponseMessage(statusCode)
            {
                Content = content
            };
            var messageOptions = new HttpMessageOptions()
            {
                HttpResponseMessage = response
            };
            var httpHandler = new FakeHttpMessageHandler(messageOptions);
            var httpClient  = new HttpClient(httpHandler);

            var handler = new MessageHandler();

            handler.BuildMessage(options.Object, settings);

            var result = await handler.SendMessageAsync(httpClient).ConfigureAwait(false);

            result.Should().Be(expected);
        }
Example #3
0
        public void Given_Null_When_BuildMessage_Invoked_Then_It_Should_Not_Exist()
        {
            var options = new Mock <Options>();

            options.SetupGet(p => p.Title).Returns("hello world");

            var handler = new MessageHandler();

            var result = handler.BuildMessage(options.Object, settings);

            var deserialised = JObject.Parse(handler.Converted);

            deserialised.Value <string>("text").Should().BeNull();
        }
Example #4
0
        public void Given_Actions_When_BuildMessage_Invoked_Then_It_Should_Return_Result(string actions)
        {
            var options = new Mock <Options>();

            options.SetupGet(p => p.Actions).Returns(actions);

            var handler = new MessageHandler();

            var result = handler.BuildMessage(options.Object, settings);

            var deserialised = JObject.Parse(handler.Converted);

            deserialised["potentialAction"].AsJEnumerable().Should().HaveCount(1);
        }
Example #5
0
        public void Given_Title_When_BuildMessage_Invoked_Then_It_Should_Return_Result(string input, string expected)
        {
            var options = new Mock <Options>();

            options.SetupGet(p => p.Title).Returns(input);

            var handler = new MessageHandler();

            var result = handler.BuildMessage(options.Object, settings);

            var deserialised = JObject.Parse(handler.Converted);

            deserialised.Value <string>("title").Should().Be(expected);
        }
Example #6
0
        public void Given_Null_RequestUri_Property_When_SendMessageAsync_Invoked_Then_It_Should_Throw_Exception()
        {
            var options = new Mock <Options>();

            var handler = new MessageHandler();

            handler.BuildMessage(options.Object, settings);

            var httpClient = new HttpClient();

            Func <Task> func = async() => await handler.SendMessageAsync(httpClient).ConfigureAwait(false);

            func.Should().Throw <InvalidOperationException>()
            .Which.Message.Should().BeEquivalentTo("Webhook URI not ready");
        }