From 112afa7e5116e62a2ef159caa6d1ece9b7a722f5 Mon Sep 17 00:00:00 2001 From: Awais Ansari Date: Mon, 26 Jun 2023 19:34:05 +0500 Subject: [PATCH] test: add load more courses test case --- .../NotificationCourses.test.jsx | 13 +++++++++++++ .../data/reducers.test.js | 18 ++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/notification-preferences/NotificationCourses.test.jsx b/src/notification-preferences/NotificationCourses.test.jsx index adadce4..3ad0a3e 100644 --- a/src/notification-preferences/NotificationCourses.test.jsx +++ b/src/notification-preferences/NotificationCourses.test.jsx @@ -49,6 +49,12 @@ describe('Notification Courses', () => { store = setupStore({ courses: courseList, status: SUCCESS_STATUS, + pagination: { + count: 3, + currentPage: 1, + hasMore: false, + totalPages: 1, + }, }); auth.getAuthenticatedHttpClient = jest.fn(() => ({ @@ -78,4 +84,11 @@ describe('Notification Courses', () => { await renderComponent(store); expect(screen.queryByTestId('not-found-page')).toBeInTheDocument(); }); + + it('show load more courses button when hasMore True', async () => { + store = setupStore({ status: SUCCESS_STATUS, pagination: { ...store.pagination, hasMore: true, totalPages: 2 } }); + await renderComponent(store); + + expect(screen.queryByText('Load more courses')).toBeInTheDocument(); + }); }); diff --git a/src/notification-preferences/data/reducers.test.js b/src/notification-preferences/data/reducers.test.js index a570d2d..2dc93a0 100644 --- a/src/notification-preferences/data/reducers.test.js +++ b/src/notification-preferences/data/reducers.test.js @@ -28,16 +28,25 @@ describe('notification-preferences reducer', () => { }); it('updates course list when api call is successful', () => { - const data = [ - { id: selectedCourseId, name: 'Selected Course' }, - ]; + const data = { + pagination: { + count: 1, + currentPage: 1, + hasMore: false, + totalPages: 1, + }, + courseList: [ + { id: selectedCourseId, name: 'Selected Course' }, + ], + }; const result = reducer( state, { type: Actions.FETCHED_COURSE_LIST, payload: data }, ); expect(result.courses).toEqual({ status: SUCCESS_STATUS, - courses: data, + courses: data.courseList, + pagination: data.pagination, }); }); @@ -52,6 +61,7 @@ describe('notification-preferences reducer', () => { expect(result.courses).toEqual({ status, courses: [], + pagination: {}, }); });