public void Completed_courses_should_correctly_return_the_second_page_of_courses() { var courses = new[] { CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "a course 1"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "b course 2"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "c course 3"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "d course 4"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "e course 5"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "f course 6"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "g course 7"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "h course 8"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "i course 9"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "j course 10"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "k course 11"), }; model = new CompletedPageViewModel( courses, completedResources, config, null, "Name", "Ascending", null, 2 ); model.CompletedActivities.Count().Should().Be(3); model.CompletedActivities.First().Name.Should().Be("k course 11"); }
public async Task <IActionResult> Completed( string?searchString = null, string?sortBy = null, string sortDirection = BaseSearchablePageViewModel.Descending, int page = 1 ) { sortBy ??= CourseSortByOptions.CompletedDate.PropertyName; var delegateId = User.GetCandidateIdKnownNotNull(); var completedCourses = courseDataService.GetCompletedCourses(delegateId); var completedResources = await GetCompletedLearningResourcesIfSignpostingEnabled(delegateId); var bannerText = GetBannerText(); var model = new CompletedPageViewModel( completedCourses, completedResources, config, searchString, sortBy, sortDirection, bannerText, page ); return(View("Completed/Completed", model)); }
public void Completed_courses_should_default_to_returning_the_first_ten_courses() { var courses = new[] { CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "a course 1"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "b course 2"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "c course 3"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "d course 4"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "e course 5"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "f course 6"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "g course 7"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "h course 8"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "i course 9"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "j course 10"), CompletedCourseHelper.CreateDefaultCompletedCourse(courseName: "k course 11"), }; model = new CompletedPageViewModel( courses, completedResources, config, null, "Name", "Ascending", null, 1 ); model.CompletedActivities.Count().Should().Be(10); model.CompletedActivities.FirstOrDefault(course => course.Name == "k course 11").Should().BeNull(); }
public async Task Completed_action_should_return_view_result_with_correct_api_accessibility_flag( bool apiIsAccessible ) { // Given A.CallTo(() => config[ConfigurationExtensions.UseSignposting]).Returns("true"); var completedCourses = new[] { CompletedCourseHelper.CreateDefaultCompletedCourse(), CompletedCourseHelper.CreateDefaultCompletedCourse(), }; var completedActionPlanResources = Builder <ActionPlanResource> .CreateListOfSize(2).Build().ToList(); var mappedActionPlanResources = completedActionPlanResources.Select(r => new CompletedActionPlanResource(r)); var bannerText = "bannerText"; A.CallTo(() => courseDataService.GetCompletedCourses(CandidateId)).Returns(completedCourses); A.CallTo(() => actionPlanService.GetCompletedActionPlanResources(CandidateId)) .Returns((completedActionPlanResources, apiIsAccessible)); A.CallTo(() => centresDataService.GetBannerText(CentreId)).Returns(bannerText); var allItems = completedCourses.Cast <CompletedLearningItem>().ToList(); allItems.AddRange(mappedActionPlanResources); SearchSortFilterAndPaginateTestHelper .GivenACallToSearchSortFilterPaginateServiceReturnsResult <CompletedLearningItem>( searchSortFilterPaginateService ); // When var result = await controller.Completed(); // Then var expectedModel = new CompletedPageViewModel( new SearchSortFilterPaginationResult <CompletedLearningItem>( new PaginationResult <CompletedLearningItem>(allItems, 1, 1, 10, 4, true), null, "Completed", "Descending", null ), apiIsAccessible, config, bannerText ); result.Should().BeViewResult() .Model.Should().BeEquivalentTo(expectedModel); }
public async Task <IActionResult> Completed( string?searchString = null, string?sortBy = null, string sortDirection = GenericSortingHelper.Descending, int page = 1 ) { sortBy ??= CourseSortByOptions.CompletedDate.PropertyName; var delegateId = User.GetCandidateIdKnownNotNull(); var completedCourses = courseDataService.GetCompletedCourses(delegateId); var(completedLearningResources, apiIsAccessible) = await GetCompletedLearningResourcesIfSignpostingEnabled(delegateId); var bannerText = GetBannerText(); var allItems = completedCourses.Cast <CompletedLearningItem>().ToList(); allItems.AddRange(completedLearningResources); var searchSortPaginationOptions = new SearchSortFilterAndPaginateOptions( new SearchOptions(searchString), new SortOptions(sortBy, sortDirection), null, new PaginationOptions(page) ); var result = searchSortFilterPaginateService.SearchFilterSortAndPaginate( allItems, searchSortPaginationOptions ); var model = new CompletedPageViewModel( result, apiIsAccessible, config, bannerText ); return(View("Completed/Completed", model)); }
public async Task Completed_action_should_return_view_result() { // Given A.CallTo(() => config[ConfigHelper.UseSignposting]).Returns("true"); var completedCourses = new[] { CompletedCourseHelper.CreateDefaultCompletedCourse(), CompletedCourseHelper.CreateDefaultCompletedCourse(), }; var completedActionPlanResources = Builder <ActionPlanResource> .CreateListOfSize(2).Build().ToList(); var mappedActionPlanResources = completedActionPlanResources.Select(r => new CompletedActionPlanResource(r)); var bannerText = "bannerText"; A.CallTo(() => courseDataService.GetCompletedCourses(CandidateId)).Returns(completedCourses); A.CallTo(() => actionPlanService.GetCompletedActionPlanResources(CandidateId)) .Returns(completedActionPlanResources); A.CallTo(() => centresDataService.GetBannerText(CentreId)).Returns(bannerText); // When var result = await controller.Completed(); // Then var expectedModel = new CompletedPageViewModel( completedCourses, mappedActionPlanResources, config, null, "Completed", "Descending", bannerText, 1 ); result.Should().BeViewResult() .Model.Should().BeEquivalentTo(expectedModel); }
public void SetUp() { completedCourses = new[] { new CompletedCourse { Id = 71, Name = "B: Course", HasDiagnostic = true, HasLearning = true, IsAssessed = true, StartedDate = new DateTime(2010, 1, 31), Completed = new DateTime(2010, 2, 22), Evaluated = new DateTime(2010, 3, 22), ArchivedDate = null, DiagnosticScore = 123, Passes = 4, Sections = 6, }, new CompletedCourse { Id = 72, Name = "C: Course", HasDiagnostic = true, HasLearning = true, IsAssessed = false, StartedDate = new DateTime(2010, 2, 1), Completed = new DateTime(2011, 2, 22), Evaluated = new DateTime(2011, 3, 22), ArchivedDate = null, DiagnosticScore = 0, Passes = 14, Sections = 16, }, new CompletedCourse { Id = 73, Name = "A: Course", HasDiagnostic = false, HasLearning = true, IsAssessed = true, StartedDate = new DateTime(2001, 1, 22), Completed = new DateTime(2011, 2, 23), Evaluated = new DateTime(2011, 2, 23), ArchivedDate = null, DiagnosticScore = 0, Passes = 0, Sections = 6, }, }; completedResources = Builder <CompletedActionPlanResource> .CreateListOfSize(2).Build().ToArray(); model = new CompletedPageViewModel( completedCourses, completedResources, config, null, "Name", "Ascending", null, 1 ); }