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();
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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();
        }