Exemple #1
0
        public async Task Current_action_should_return_view_result_with_correct_api_accessibility_flag(
            bool apiIsAccessible
            )
        {
            // Given
            var currentCourses = new[]
            {
                CurrentCourseHelper.CreateDefaultCurrentCourse(),
           CurrentCourseHelper.CreateDefaultCurrentCourse(),
            };
            var selfAssessments = new[]
            {
                SelfAssessmentHelper.CreateDefaultSelfAssessment(),
                SelfAssessmentHelper.CreateDefaultSelfAssessment(),
            };
            var actionPlanResources = Builder <ActionPlanResource> .CreateListOfSize(2).Build().ToArray();

            var bannerText = "bannerText";

            A.CallTo(() => courseDataService.GetCurrentCourses(CandidateId)).Returns(currentCourses);
            A.CallTo(() => selfAssessmentService.GetSelfAssessmentsForCandidate(CandidateId)).Returns(selfAssessments);
            A.CallTo(() => actionPlanService.GetIncompleteActionPlanResources(CandidateId))
            .Returns((actionPlanResources, apiIsAccessible));
            A.CallTo(() => centresDataService.GetBannerText(CentreId)).Returns(bannerText);
            A.CallTo(() => config[ConfigurationExtensions.UseSignposting]).Returns("true");
            var allItems = currentCourses.Cast <CurrentLearningItem>().ToList();

            allItems.AddRange(selfAssessments);
            allItems.AddRange(actionPlanResources);
            SearchSortFilterAndPaginateTestHelper
            .GivenACallToSearchSortFilterPaginateServiceReturnsResult <CurrentLearningItem>(
                searchSortFilterPaginateService
                );

            // When
            var result = await controller.Current();

            // Then
            var expectedModel = new CurrentPageViewModel(
                new SearchSortFilterPaginationResult <CurrentLearningItem>(
                    new PaginationResult <CurrentLearningItem>(allItems, 1, 1, 10, 6, true),
                    null,
                    "LastAccessed",
                    "Descending",
                    null
                    ),
                apiIsAccessible,
                bannerText
                );

            result.Should().BeViewResult()
            .Model.Should().BeEquivalentTo(expectedModel);
        }
Exemple #2
0
        public async Task Current_action_should_have_banner_text()
        {
            // Given
            const string bannerText = "Banner text";

            A.CallTo(() => centresDataService.GetBannerText(CentreId)).Returns(bannerText);
            A.CallTo(() => config[ConfigurationExtensions.UseSignposting]).Returns("true");

            // When
            var currentViewModel = await CurrentCourseHelper.CurrentPageViewModelFromController(controller);

            // Then
            currentViewModel.BannerText.Should().Be(bannerText);
        }
Exemple #3
0
        public void Requesting_a_course_unlock_should_call_the_unlock_service()
        {
            // Given
            const int progressId     = 1;
            var       currentCourses = new[]
            {
                CurrentCourseHelper.CreateDefaultCurrentCourse(progressId: progressId, locked: true),
            };

            A.CallTo(() => courseDataService.GetCurrentCourses(CandidateId)).Returns(currentCourses);

            // When
            controller.RequestUnlock(progressId);

            // Then
            A.CallTo(() => notificationService.SendUnlockRequest(progressId)).MustHaveHappened();
        }
Exemple #4
0
        public void Requesting_unlock_for_non_existent_course_should_return_404()
        {
            // Given
            var currentCourses = new[]
            {
                CurrentCourseHelper.CreateDefaultCurrentCourse(progressId: 2, locked: true),
            };

            A.CallTo(() => courseDataService.GetCurrentCourses(CandidateId)).Returns(currentCourses);

            // When
            var result = controller.RequestUnlock(3);

            // Then
            result.Should()
            .BeRedirectToActionResult()
            .WithControllerName("LearningSolutions")
            .WithActionName("StatusCode")
            .WithRouteValue("code", 404);
        }
Exemple #5
0
        public void Removing_non_existent_course_should_return_404()
        {
            // Given
            var currentCourses = new[]
            {
                CurrentCourseHelper.CreateDefaultCurrentCourse(2),
            };

            A.CallTo(() => courseDataService.GetCurrentCourses(CandidateId)).Returns(currentCourses);

            // When
            var result = controller.RemoveCurrentCourseConfirmation(3, ReturnPageQueryHelper.GetDefaultReturnPageQuery());

            // Then
            result.Should()
            .BeRedirectToActionResult()
            .WithControllerName("LearningSolutions")
            .WithActionName("StatusCode")
            .WithRouteValue("code", 404);
        }
Exemple #6
0
        public void Remove_confirmation_for_a_current_course_should_show_confirmation()
        {
            // Given
            const int customisationId = 2;
            var       currentCourse   = CurrentCourseHelper.CreateDefaultCurrentCourse(customisationId);
            var       currentCourses  = new[]
            {
                currentCourse,
            };

            A.CallTo(() => courseDataService.GetCurrentCourses(CandidateId)).Returns(currentCourses);

            // When
            var result = controller.RemoveCurrentCourseConfirmation(customisationId, ReturnPageQueryHelper.GetDefaultReturnPageQuery());

            // Then
            var expectedModel = new CurrentCourseViewModel(currentCourse, ReturnPageQueryHelper.GetDefaultReturnPageQuery());

            result.Should().BeViewResult()
            .Model.Should().BeEquivalentTo(expectedModel);
        }
Exemple #7
0
        public void Trying_to_edit_complete_by_date_when_not_self_enrolled_should_return_403()
        {
            // Given
            var currentCourse = CurrentCourseHelper.CreateDefaultCurrentCourse(
                enrollmentMethodId: 0,
                completeByDate: new DateTime(2020, 1, 1)
                );
            var currentCourses = new[]
            {
                currentCourse,
            };

            A.CallTo(() => courseDataService.GetCurrentCourses(CandidateId)).Returns(currentCourses);

            // When
            var result = controller.SetCurrentCourseCompleteByDate(currentCourse.Id, ReturnPageQueryHelper.GetDefaultReturnPageQuery());

            // Then
            result.Should()
            .BeRedirectToActionResult()
            .WithControllerName("LearningSolutions")
            .WithActionName("StatusCode")
            .WithRouteValue("code", 403);
        }