diff --git a/src/web/app/pages-instructor/instructor-home-page/instructor-home-page.component.spec.ts b/src/web/app/pages-instructor/instructor-home-page/instructor-home-page.component.spec.ts index 1621e87d4e2..925dc133f0f 100644 --- a/src/web/app/pages-instructor/instructor-home-page/instructor-home-page.component.spec.ts +++ b/src/web/app/pages-instructor/instructor-home-page/instructor-home-page.component.spec.ts @@ -52,6 +52,15 @@ const testCourse2: Course = { timeZone: 'Asia/Singapore', }; +const testCourse3: Course = { + courseId: 'CS0234', + courseName: 'Data Structures', + institute: 'Test Institute', + creationTimestamp: 1676841600000, // Sunday, 21 May 2023 08:00:00 GMT+08:00 + deletionTimestamp: 0, + timeZone: 'Asia/Singapore', +}; + const testFeedbackSession1: FeedbackSession = { feedbackSessionName: 'First Session', courseId: 'CS1231', @@ -271,6 +280,27 @@ describe('InstructorHomePageComponent', () => { .feedbackSession.feedbackSessionName).toEqual('First Session'); }); + it('should sort courseTabModels by courseId in ascending order', () => { + const activeCourses: CourseTabModel[] = activeCourseTabModels; + activeCourses.push({ + course: testCourse3, + instructorPrivilege: testInstructorPrivilege, + sessionsTableRowModels: [], + sessionsTableRowModelsSortBy: SortBy.NONE, + sessionsTableRowModelsSortOrder: SortOrder.ASC, + + hasPopulated: false, + isAjaxSuccess: true, + isTabExpanded: true, + hasLoadingFailed: false, + }); + + component.courseTabModels = activeCourses; + component.sortCoursesBy(SortBy.COURSE_ID); + expect(component.courseTabModels[0].course.courseId).toEqual('CS0234'); + expect(component.courseTabModels[0].course.courseName).toEqual('Data Structures'); + }); + it('should snap with default fields', () => { expect(fixture).toMatchSnapshot(); });