public void ReturnServerErrorWhenResultCodeIsUnknownError() { // arrange var services = FakeStartup.GetDefaultServices(); services.AddScoped <BusStopController>(); var businessLogicSub = Substitute.For <IBusStopTimeBusinessLogic>(); businessLogicSub.GetNextStopTimes(Arg.Any <int>(), Arg.Any <int>()) .Returns(new BusinessResult <BusStopDto, BusStopTimeResultCode>(new BusStopDto(), BusStopTimeResultCode.UnknownError, string.Empty, false)); services.AddScoped <IBusStopTimeBusinessLogic>(x => businessLogicSub); var sut = this.GetSut(services); // act var actual = sut.GetNextArrivals(1); // assert Assert.IsType <ObjectResult>(actual); Assert.Equal((int)HttpStatusCode.InternalServerError, (actual as ObjectResult).StatusCode); }
public void ReturnOkWhenBusinessResultIsSuccessful() { // arrange var services = FakeStartup.GetDefaultServices(); services.AddScoped <BusStopController>(); var businessLogicSub = Substitute.For <IBusStopTimeBusinessLogic>(); businessLogicSub.GetNextStopTimes(Arg.Any <int>(), Arg.Any <int>()) .Returns(new BusinessResult <BusStopDto, BusStopTimeResultCode>(new BusStopDto(), BusStopTimeResultCode.Okay, string.Empty, true)); services.AddScoped <IBusStopTimeBusinessLogic>(x => businessLogicSub); var sut = this.GetSut(services); // act var actual = sut.GetNextArrivals(1); // assert Assert.IsType <OkObjectResult>(actual); Assert.IsType <BusStopDto>((actual as OkObjectResult).Value); Assert.NotNull((actual as OkObjectResult).Value); Assert.Equal((int)HttpStatusCode.OK, (actual as OkObjectResult).StatusCode); }