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