Exemple #1
0
        public IActionResult Index(
            string?searchString  = null,
            string?sortBy        = null,
            string sortDirection = BaseSearchablePageViewModel.Ascending,
            string?filterBy      = null,
            string?filterValue   = null,
            int page             = 1
            )
        {
            sortBy ??= DefaultSortByOptions.Name.PropertyName;
            filterBy = FilteringHelper.GetFilterBy(
                filterBy,
                filterValue,
                Request,
                CourseFilterCookieName,
                CourseStatusFilterOptions.IsActive.FilterValue
                );

            var centreId      = User.GetCentreId();
            var categoryId    = User.GetAdminCourseCategoryFilter();
            var centreCourses =
                courseService.GetCentreSpecificCourseStatistics(centreId, categoryId);
            var categories = courseCategoriesDataService.GetCategoriesForCentreAndCentrallyManagedCourses(centreId)
                             .Select(c => c.CategoryName);
            var topics = courseTopicsDataService.GetCourseTopicsAvailableAtCentre(centreId).Select(c => c.CourseTopic);

            var model = new CourseSetupViewModel(
                centreCourses,
                categories,
                topics,
                searchString,
                sortBy,
                sortDirection,
                filterBy,
                page
                );

            Response.UpdateOrDeleteFilterCookie(CourseFilterCookieName, filterBy);

            return(View(model));
        }
        public void GetActiveTopicsAvailableAtCentre_calls_data_service()
        {
            // Given
            const int centreId = 1;
            var       topic    = new Topic {
                CourseTopicID = 1, CourseTopic = "Topic", Active = true
            };
            var topics = new List <Topic> {
                topic
            };

            A.CallTo(() => courseTopicsDataService.GetCourseTopicsAvailableAtCentre(1)).Returns(topics);

            // When
            var result = courseTopicsService.GetActiveTopicsAvailableAtCentre(centreId);

            // Then
            using (new AssertionScope())
            {
                A.CallTo(() => courseTopicsDataService.GetCourseTopicsAvailableAtCentre(centreId))
                .MustHaveHappenedOnceExactly();
                result.Should().BeEquivalentTo(topics);
            }
        }
Exemple #3
0
        public void GetTopicsForCentreAndCentrallyManagedCourses_returns_expected_topics()
        {
            // Given
            const string topicName = "Topic";

            A.CallTo(() => courseTopicsDataService.GetCourseTopicsAvailableAtCentre(CentreId))
            .Returns(new List <Topic> {
                new Topic {
                    CourseTopicID = 1, CourseTopic = topicName
                }
            });

            // When
            var result = courseService.GetTopicsForCentreAndCentrallyManagedCourses(CentreId);

            // Then
            result.Single().Should().Be(topicName);
        }
Exemple #4
0
        public void Setup()
        {
            courseCategoryDataService = A.Fake <ICourseCategoriesDataService>();
            courseTopicsDataService   = A.Fake <ICourseTopicsDataService>();
            courseService             = A.Fake <ICourseService>();

            A.CallTo(() => courseService.GetCentreSpecificCourseStatistics(A <int> ._, A <int> ._)).Returns(courses);
            A.CallTo(() => courseCategoryDataService.GetCategoriesForCentreAndCentrallyManagedCourses(A <int> ._))
            .Returns(categories);
            A.CallTo(() => courseTopicsDataService.GetCourseTopicsAvailableAtCentre(A <int> ._)).Returns(topics);

            httpRequest  = A.Fake <HttpRequest>();
            httpResponse = A.Fake <HttpResponse>();
            const string cookieName  = "CourseFilter";
            const string cookieValue = "Status|Active|false";

            controller = new CourseSetupController(courseService, courseCategoryDataService, courseTopicsDataService)
                         .WithMockHttpContext(httpRequest, cookieName, cookieValue, httpResponse)
                         .WithMockUser(true)
                         .WithMockTempData();
        }
 public IEnumerable <Topic> GetActiveTopicsAvailableAtCentre(int centreId)
 {
     return(courseTopicsDataService.GetCourseTopicsAvailableAtCentre(centreId)
            .Where(c => c.Active));
 }