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); }
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(); }
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); }
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); }
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); }
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); }