public async Task GetTlevelSuccess(string mediaTypeName) { //Set Up A.CallTo(() => FakeFindACoursesService.GetTLevelDetails(A <string> .Ignored, A <string> .Ignored)).Returns(GetTestTLevel()); var controller = BuildDetailsController(mediaTypeName); var paramValues = new ParamValues { Page = 1, D = 1, OrderByValue = "StartDate", }; //Act var result = await controller.TLevelDetails(TLevelId, TLevelLocationId, "testSearchTerm", paramValues).ConfigureAwait(false); //Asserts var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <TLevelDetailsViewModel>(viewResult.ViewData.Model); model.TlevelDetails.TLevelId.Should().Be(Guid.Parse(TLevelId)); controller.Dispose(); }
public async Task GetTLevelDetailsReturnsFailedOnServiceErrors(string errorMesage, HttpStatusCode expectedHttpStatusCode) { //Set Up A.CallTo(() => FakeFindACoursesService.GetTLevelDetails(A <string> .Ignored, A <string> .Ignored)).Throws(new SystemException(errorMesage)); using var controller = BuildDetailsController("*/*"); var paramValues = new ParamValues(); //Act var result = await controller.TLevelDetails(CourseId, TLevelLocationId, "testSearchTerm", paramValues).ConfigureAwait(false); //Asserts var resultStatus = result as StatusCodeResult; resultStatus.StatusCode.Should().Be((int)expectedHttpStatusCode); A.CallTo(() => FakeLogService.LogError(A <string> .Ignored)).MustHaveHappenedOnceExactly(); }
public async Task GetTlevelReturnsNotFound() { //Set Up const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.NotFound; const TLevelDetails nullTLevelDetails = null; A.CallTo(() => FakeFindACoursesService.GetTLevelDetails(A <string> .Ignored, A <string> .Ignored)).Returns(nullTLevelDetails); using var controller = BuildDetailsController("*/*"); var paramValues = new ParamValues(); //Act var result = await controller.TLevelDetails(CourseId, TLevelLocationId, "testSearchTerm", paramValues).ConfigureAwait(false); //Asserts var resultStatus = result as StatusCodeResult; resultStatus.StatusCode.Should().Be((int)expectedHttpStatusCode); A.CallTo(() => FakeLogService.LogWarning(A <string> .Ignored)).MustHaveHappenedOnceExactly(); }