public async Task FilterResultReturnsSuccessWithoutPostcodeOrRegions(string mediaTypeName) { var controller = BuildDetailsController(mediaTypeName); var returnedCourseData = new CourseDetails { Title = "Maths in a unit test", Description = "This is a maths in a top class description", EntryRequirements = "Bring yourself and a brain", }; A.CallTo(() => FakeFindACoursesService.GetCourseDetails(CourseId, RunId)).Returns(returnedCourseData); var paramValues = new ParamValues { Page = 1, D = 1, OrderByValue = "StartDate", }; var result = await controller.Details(CourseId, null, RunId, "Maths", paramValues).ConfigureAwait(false); Assert.IsType <ViewResult>(result); controller.Dispose(); }
public async Task FilterResultReturnsSuccessWithPostcodeAndRegions(string mediaTypeName) { using var controller = BuildDetailsController(mediaTypeName); var returnedCourseData = new CourseDetails { Title = "Maths in a unit test", Description = "This is a maths in a top class description", EntryRequirements = "Bring yourself and a brain", SubRegions = new List <SubRegion> { new SubRegion { SubRegionId = Guid.NewGuid().ToString(), Name = "sub-region-1", ParentRegion = new ParentRegion { RegionId = Guid.NewGuid().ToString(), Name = "region-1", }, }, new SubRegion { SubRegionId = Guid.NewGuid().ToString(), Name = "sub-region-2", ParentRegion = new ParentRegion { RegionId = Guid.NewGuid().ToString(), Name = "region-2", }, }, }, }; A.CallTo(() => FakeFindACoursesService.GetCourseDetails(CourseId, RunId)).Returns(returnedCourseData); var paramValues = new ParamValues { Page = 1, D = 1, OrderByValue = "StartDate", Town = "CV1 2WT", }; var result = await controller.Details(CourseId, null, RunId, "Maths", paramValues).ConfigureAwait(false); Assert.IsType <ViewResult>(result); }
public async Task GetCourseDetailsReturnsFailedOnServiceErrors(string errorMesage, HttpStatusCode expectedHttpStatusCode) { //Set Up A.CallTo(() => FakeFindACoursesService.GetCourseDetails(A <string> .Ignored, A <string> .Ignored)).Throws(new SystemException(errorMesage)); using var controller = BuildDetailsController("*/*"); var paramValues = new ParamValues(); //Act var result = await controller.Details(CourseId, RunId, null, "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 GetCourseDetailsReturnsNotFound() { //Set Up const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.NotFound; const CourseDetails nullCourseSearchResult = null; A.CallTo(() => FakeFindACoursesService.GetCourseDetails(A <string> .Ignored, A <string> .Ignored)).Returns(nullCourseSearchResult); using var controller = BuildDetailsController("*/*"); var paramValues = new ParamValues(); //Act var result = await controller.Details(CourseId, RunId, null, "testSearchTerm", paramValues).ConfigureAwait(false); //Asserts var resultStatus = result as StatusCodeResult; resultStatus.StatusCode.Should().Be((int)expectedHttpStatusCode); A.CallTo(() => FakeLogService.LogWarning(A <string> .Ignored)).MustHaveHappenedOnceExactly(); }