public ReportsController(GetAllLocalEducationAgenciesQuery getAllLocalEducationAgenciesQuery , StudentsByProgramQuery studentsByProgramQuery , StudentEconomicSituationReportQuery studentEconomicSituationReportQuery , TotalEnrollmentQuery totalEnrollmentQuery , GetSchoolsBySchoolTypeQuery getSchoolsBySchoolTypeQuery , StudentEnrollmentByGenderQuery studentEnrollmentByGenderQuery , StudentEnrollmentByRaceQuery studentEnrollmentByRaceQuery , StudentEnrollmentByEthnicityQuery studentEnrollmentByEthnicityQuery , InstanceContext instanceContext) { _getAllLocalEducationAgenciesQuery = getAllLocalEducationAgenciesQuery; _studentsByProgramQuery = studentsByProgramQuery; _studentEconomicSituationReportQuery = studentEconomicSituationReportQuery; _totalEnrollmentQuery = totalEnrollmentQuery; _getSchoolsBySchoolTypeQuery = getSchoolsBySchoolTypeQuery; _studentEnrollmentByGenderQuery = studentEnrollmentByGenderQuery; _studentEnrollmentByRaceQuery = studentEnrollmentByRaceQuery; _studentEnrollmentByEthnicityQuery = studentEnrollmentByEthnicityQuery; _instanceContext = instanceContext; }
public void ShouldRetrieveTotalEnrollment() { var localEducationAgencyId = GetNewLocalEducationAgencyId(); var schoolId = GetNewSchool(localEducationAgencyId); var student1 = GetNewStudentWithSchoolAssociation(schoolId); var student2 = GetNewStudentWithSchoolAssociation(schoolId); var studentInactiveTomorrow = GetNewStudentWithSchoolAssociation(schoolId); //should still be counted SetStudentInactive(studentInactiveTomorrow.StudentUsi, schoolId, DateTime.Today.AddDays(1)); var inactiveStudentThatShouldNotAppearInReport = GetNewStudentWithSchoolAssociation(schoolId); SetStudentInactive(inactiveStudentThatShouldNotAppearInReport.StudentUsi, schoolId); var otherLocalEducationAgencyId = GetNewLocalEducationAgencyId(); var otherSchoolId = GetNewSchool(otherLocalEducationAgencyId); var otherStudent1 = GetNewStudentWithSchoolAssociation(otherSchoolId); var otherStudent2 = GetNewStudentWithSchoolAssociation(otherSchoolId); var report = new TotalEnrollmentQuery(TestConnectionProvider); var result = report.Execute(CloudOdsDatabaseNames.ProductionOds, ApiMode.Sandbox, localEducationAgencyId); result.EnrollmentCount.ShouldBe(3); }