public async Task Process_GivenGetServerVersionContext_ShouldResondWithGetServerVersionContext() { // arrange Setup(); _mockIHttpLookup.Setup(mc => mc.Download(It.IsAny<string>(),It.IsAny<int>())) .Returns(Task.FromResult(new RestResponse() {Content = "<body><header><h1>Everything is fine...</h1></header>Make Coffee, API1, 2.0.1220, 6/10/2016 2:44:36 PM!</body>"} as IRestResponse)); var messageContext = new MessageContext("what version are we on"); // action await _chatBot.Process(messageContext); // assert messageContext.WaitFor(x => x.LastMessages, x => x.Contains("I will have a look, give me a minute.")).Should().Contain("I will have a look, give me a minute."); messageContext.WaitFor(x => x.LastMessages, x => x.Contains("API1")).Should().Contain(x => x.Contains("API1")); }
public async Task Process_GivenInvalidContext_ShouldResondWithGetServerVersionContext() { // arrange Setup(); _mockIHttpLookup.Setup(mc => mc.Download(It.IsAny<string>(), It.IsAny<int>())) .Returns(Task.FromResult(new RestResponse() {} as IRestResponse)); var messageContext = new MessageContext("what version are we on"); // action await _chatBot.Process(messageContext); // assert messageContext.WaitFor(x => x.LastMessages, x => x.Contains("I will have a look, give me a minute.")).Should().Contain("I will have a look, give me a minute."); messageContext.WaitFor(x => x.LastMessages, x => x.Contains("Oops")).Should().Contain(x => x.Contains("Oops")); }
public async Task Process_GivenGetServerVersionContext_ShouldResondWithGetServerVersionContext() { // arrange Setup(); var restResponse = new RestResponse() { Content = "<body><header><h1>Everything is fine...</h1></header>Make Coffee, API1, 2.0.1219, 6/10/2016 2:44:36 PM!</body>" }; _mockIHttpLookup.Setup(mc => mc.Download(It.IsAny<string>(), It.IsAny<int>())) .Returns(Task.FromResult(restResponse as IRestResponse)); var messageContext = new MessageContext("monitor server versions"); // action await _chatBot.Process(messageContext); // assert messageContext.WaitFor(x => x.LastMessages, x => x.Contains("Scanning servers.")).Should().Contain("Scanning servers."); await Task.Delay(500); restResponse.Content = "<body><header><h1>Everything is fine...</h1></header>Make Coffee, API1, 2.0.1220, 6/10/2016 2:44:36 PM!</body>" ; messageContext.WaitFor(x => x.LastMessages, x => x.Contains("2.0.1220"),5000).Should().Contain(x => x.Contains("2.0.1220")); }