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>(); }
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); }
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(); }
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); }
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); }
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"); }