GetCentreSpecificCourseStatisticsWithAdminFieldResponseCounts(
            int centreId,
            int?categoryId,
            bool includeAllCentreCourses = false
            )
        {
            var allCourses = courseDataService.GetCourseStatisticsAtCentreFilteredByCategory(centreId, categoryId);

            return(allCourses.Where(c => c.CentreId == centreId || c.AllCentres && includeAllCentreCourses).Select(
                       c => new CourseStatisticsWithAdminFieldResponseCounts(
                           c,
                           courseAdminFieldsService.GetCourseAdminFieldsWithAnswerCountsForCourse(c.CustomisationId, centreId)
                           )
                       ));
        }
        public void GetCourseAdminFieldsWithAnswerCountsForCourse_returns_empty_list_with_no_admin_fields()
        {
            // Given
            const int customisationId = 1;
            const int centreId        = 1;

            A.CallTo(() => courseAdminFieldsDataService.GetCourseAdminFields(customisationId))
            .Returns(new CourseAdminFieldsResult());

            // When
            var result =
                courseAdminFieldsService.GetCourseAdminFieldsWithAnswerCountsForCourse(customisationId, centreId);

            // Then
            using (new AssertionScope())
            {
                result.Should().BeEmpty();
                A.CallTo(
                    () => courseAdminFieldsDataService.GetDelegateAnswersForCourseAdminFields(customisationId, centreId)
                    ).MustNotHaveHappened();
            }
        }