@@ -183,6 +183,49 @@ public void testIsHigherCompletedPercentageHandlesNullsAndComparison() {
183183 assertFalse (bothNullResult );
184184 }
185185
186+ @ Test
187+ public void testGetCourseNameLogicForIdsUsesRelatedCourseName () {
188+ StudentCourse idsCourse = StudentCourse .builder ()
189+ .genericCourseType ("I" )
190+ .courseCode ("IDS" )
191+ .courseName ("Independent Directed Studies 12A" )
192+ .relatedCourse ("MATH" )
193+ .relatedLevel ("12" )
194+ .relatedCourseName ("Calculus 12" )
195+ .build ();
196+
197+ String result = ReflectionTestUtils .invokeMethod (reportService , "getCourseNameLogic" , idsCourse );
198+
199+ assertEquals ("IDS Calculus 12" , result );
200+ }
201+
202+ @ Test
203+ public void testGetCourseNameLogicForIdsFallsBackToCourseNameWhenRelatedCourseBlank () {
204+ StudentCourse idsCourse = StudentCourse .builder ()
205+ .genericCourseType ("I" )
206+ .courseCode ("IDS" )
207+ .courseName ("Independent Directed Studies 10A" )
208+ .build ();
209+
210+ String result = ReflectionTestUtils .invokeMethod (reportService , "getCourseNameLogic" , idsCourse );
211+
212+ assertEquals ("IDS Independent Directed Studies 10A" , result );
213+ }
214+
215+ @ Test
216+ public void testGetCourseNameLogicForIdsFallsBackToCustomizedCourseNameWhenRelatedCourseBlank () {
217+ StudentCourse idsCourse = StudentCourse .builder ()
218+ .isIndependentDirectedStudies (true )
219+ .courseCode ("IDS" )
220+ .courseName ("Independent Directed Studies 10A" )
221+ .customizedCourseName ("Marine Studies 12A" )
222+ .build ();
223+
224+ String result = ReflectionTestUtils .invokeMethod (reportService , "getCourseNameLogic" , idsCourse );
225+
226+ assertEquals ("IDS Marine Studies 12A" , result );
227+ }
228+
186229 @ Test
187230 public void testGetStudentsForSchoolYearEndNonGradReportWithMincode () {
188231 List <ReportGradStudentData > gradStudentDataList = createStudentSchoolYearEndData ("json/studentSchoolYearEndResponse.json" );
0 commit comments