public void IndexDataTest(ServiceState serviceState, int expectedStatusCode) { //Setup the fakes and dummies var fakeWebAppContext = A.Fake <IWebAppContext>(); //Instantiate & Act var serviceStatusController = new ServiceStatusController(GetTestDependentServces(serviceState), fakeWebAppContext); //Act var indexResult = serviceStatusController.WithCallTo(c => c.Index()); //Assert indexResult.ShouldRenderDefaultView().WithModel <ServiceStatusModel>(vm => { vm.CheckDateTime.Should().BeCloseTo(DateTime.Now, 100000); vm.ServiceStatues.Should().NotBeNullOrEmpty(); vm.ServiceStatues[0].Name.Should().BeEquivalentTo("Dummy Service One"); vm.ServiceStatues[0].Status.Should().BeEquivalentTo(serviceState); }).AndNoModelErrors(); if (expectedStatusCode == 200) { A.CallTo(() => fakeWebAppContext.SetResponseStatusCode(A <int> .That.IsEqualTo(expectedStatusCode))).MustNotHaveHappened(); } else { A.CallTo(() => fakeWebAppContext.SetResponseStatusCode(A <int> .That.IsEqualTo(expectedStatusCode))).MustHaveHappened(); } }
public void IndexDataTest(ServiceState serviceState, string serviceText, int expectedStatusCode) { //Setup the fakes and dummies var fakeWebAppContext = A.Fake <IWebAppContext>(); var fakeMapper = A.Fake <IMapper>(); var testServiceStatusModel = new ServiceStatusModel() { Name = "Dummy Service", Status = serviceState, StatusText = serviceText, CheckCorrelationId = "DummyGuid" }; A.CallTo(() => fakeMapper.Map <ServiceStatusModel>(A <ServiceStatus> .Ignored)).Returns(testServiceStatusModel); //Instantiate & Act var serviceStatusController = new ServiceStatusController(GetTestDependentServces(testServiceStatusModel), fakeWebAppContext, fakeMapper); //Act var indexResult = serviceStatusController.WithCallTo(c => c.Index()); //Assert indexResult.ShouldRenderDefaultView().WithModel <ServiceStatuesModel>(vm => { vm.CheckDateTime.Should().BeCloseTo(DateTime.Now, 100000); vm.ServiceStatues.Should().NotBeNullOrEmpty(); vm.ServiceStatues[0].Should().BeEquivalentTo(testServiceStatusModel); }).AndNoModelErrors(); if (expectedStatusCode == 200) { A.CallTo(() => fakeWebAppContext.SetResponseStatusCode(A <int> .That.IsEqualTo(expectedStatusCode))).MustNotHaveHappened(); } else { A.CallTo(() => fakeWebAppContext.SetResponseStatusCode(A <int> .That.IsEqualTo(expectedStatusCode))).MustHaveHappened(); } }