protected override void EstablishContext()
        {
            queryOptions = GetStudentMetricsProviderQueryOptions();

            if (sortColumn != null && sortColumn.MetricVariantId == SpecialMetricVariantSortingIds.Designations)
            {
                studentAccomodationCountAndMaxValueRepository =
                    mocks.StrictMock<IRepository<StudentAccommodationCountAndMaxValue>>();
                Expect.Call(studentAccomodationCountAndMaxValueRepository.GetAll())
                      .Return(GetStudentAccommodationCountAndMaxValue())
                      .Repeat.AtLeastOnce();
            }

            enhancedStudentInformationRepository = mocks.StrictMock<IRepository<EnhancedStudentInformation>>();
            Expect.Call(enhancedStudentInformationRepository.GetAll()).Return(GetEnhancedStudentInformation()).Repeat.AtLeastOnce();
            
			studentMetricRepository = mocks.StrictMock<IRepository<StudentMetric>>();
            Expect.Call(studentMetricRepository.GetAll()).Return(GetStudentMetric()).Repeat.AtLeastOnce();

            if (queryOptions.MetricVariantIds != null && queryOptions.MetricVariantIds.Any())
            {
                //This is only used for doing the sort column, the above condition needs more work
                stateAssessmentMetricIdGroupingProvider = mocks.StrictMock<IStateAssessmentMetricIdGroupingProvider>();
                Expect.Call(stateAssessmentMetricIdGroupingProvider.GetMetricVariantGroupIds())
                      .Return(GetStateAssessmentMetricIdGrouping())
                      .Repeat.AtLeastOnce();
            }

            if (sortColumn != null && sortColumn.MetricVariantId == SpecialMetricVariantSortingIds.SchoolMetricStudentList)
            {
                //This is only used for doing the sort column, the above condition needs more work
                schoolMetricStudentListRepository = mocks.StrictMock<IRepository<SchoolMetricStudentList>>();
                Expect.Call(schoolMetricStudentListRepository.GetAll())
                      .Return(GetSchoolMetricStudentList())
                      .Repeat.AtLeastOnce();
            }

            studentMetricFilter = mocks.StrictMock<IStudentMetricFilter>();
            Expect.Call(studentMetricFilter.ApplyFilter(null, null)).IgnoreArguments().Return(null).WhenCalled(_ => _.ReturnValue = (IQueryable<EnhancedStudentInformation>)_.Arguments[0]).Repeat.AtLeastOnce();
            
            studentMetricsProvider = new StudentMetricsProvider(studentAccomodationCountAndMaxValueRepository,
                                                                enhancedStudentInformationRepository,
                                                                studentMetricRepository,
                                                                schoolMetricStudentListRepository,
                                                                stateAssessmentMetricIdGroupingProvider,
                                                                new[] { studentMetricFilter }
                                                                );

            
        }
Exemplo n.º 2
0
 public StudentMetricsProvider(
     IRepository<StudentAccommodationCountAndMaxValue> studentAccommodationCountAndMaxValueRepository,
     IRepository<EnhancedStudentInformation> enhancedStudentInformationRepository,
     IRepository<StudentMetric> studentMetricRepository,
     IRepository<SchoolMetricStudentList> schoolMetricStudentListRepository,
     IStateAssessmentMetricIdGroupingProvider stateAssessmentMetricIdGroupingProvider,
     IStudentMetricFilter[] studentMetricFilter)
 {
     StudentAccommodationCountAndMaxValueRepository = studentAccommodationCountAndMaxValueRepository;
     EnhancedStudentInformationRepository = enhancedStudentInformationRepository;
     StudentMetricRepository = studentMetricRepository;
     SchoolMetricStudentListRepository = schoolMetricStudentListRepository;
     StateAssessmentMetricIdGroupingProvider = stateAssessmentMetricIdGroupingProvider;
     StudentMetricFilter = studentMetricFilter;
 }