|
5 | 5 | import java.util.*; |
6 | 6 | import java.util.logging.Logger; |
7 | 7 |
|
8 | | -import ca.bc.gov.educ.api.ruleengine.dto.RuleData; |
9 | 8 | import ca.bc.gov.educ.api.ruleengine.dto.StudentCourse; |
10 | | -import ca.bc.gov.educ.api.ruleengine.rule.MatchCreditsRule; |
11 | 9 | import ca.bc.gov.educ.api.ruleengine.util.RuleProcessorRuleUtils; |
12 | 10 | import org.junit.Test; |
13 | 11 | import org.junit.runner.RunWith; |
|
21 | 19 | import ca.bc.gov.educ.api.ruleengine.dto.RuleProcessorData; |
22 | 20 |
|
23 | 21 | import static org.junit.Assert.*; |
24 | | -import static org.mockito.Mockito.when; |
25 | 22 |
|
26 | 23 |
|
27 | 24 | @RunWith(SpringRunner.class) |
@@ -1207,6 +1204,38 @@ public void testProcessGradAlgorithmRules2018_EN_126187616() { |
1207 | 1204 | assertFalse(ruleProcessorData.isGraduated()); |
1208 | 1205 | } |
1209 | 1206 |
|
| 1207 | + @Test |
| 1208 | + public void testRegistrationsFailedCourseRuleIgnoresFailingInterimWhenFinalExists() { |
| 1209 | + RuleProcessorData ruleProcessorData = getRuleProcessorData("2018-EN-126187616"); |
| 1210 | + assertNotNull(ruleProcessorData); |
| 1211 | + ruleProcessorData.setProjected(false); |
| 1212 | + ruleProcessorData.getStudentCourses().add( |
| 1213 | + StudentCourse.builder() |
| 1214 | + .courseCode("ZZZ") |
| 1215 | + .courseName("Regression Test Course") |
| 1216 | + .courseLevel("12") |
| 1217 | + .sessionDate("209912") |
| 1218 | + .credits(4) |
| 1219 | + .gradReqMet("") |
| 1220 | + .gradReqMetDetail("") |
| 1221 | + .completedCoursePercentage(67.0) |
| 1222 | + .completedCourseLetterGrade("C") |
| 1223 | + .interimPercent(42.0) |
| 1224 | + .interimLetterGrade("F") |
| 1225 | + .build() |
| 1226 | + ); |
| 1227 | + |
| 1228 | + ruleProcessorData = ruleEngineService.processGradAlgorithmRules(ruleProcessorData); |
| 1229 | + |
| 1230 | + assertNotNull(ruleProcessorData); |
| 1231 | + StudentCourse preservedCourse = ruleProcessorData.getStudentCourses().stream() |
| 1232 | + .filter(course -> "ZZZ".equals(course.getCourseCode()) && "12".equals(course.getCourseLevel())) |
| 1233 | + .findFirst() |
| 1234 | + .orElse(null); |
| 1235 | + assertNotNull(preservedCourse); |
| 1236 | + assertFalse(preservedCourse.isFailed()); |
| 1237 | + } |
| 1238 | + |
1210 | 1239 | @Test |
1211 | 1240 | public void testProcessGradAlgorithmRules2018_EN_cutoff_rule() { |
1212 | 1241 | RuleProcessorData ruleProcessorData = getRuleProcessorData("2018-EN-CUTOFF-RULE-DATA"); |
|
0 commit comments