Пример #1
0
        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");
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }
Пример #5
0
        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));
        }
Пример #6
0
        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);
        }
Пример #7
0
        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
                );
        }