diff --git a/src/studio-home/data/api.js b/src/studio-home/data/api.js index bfd4680d4..e5903690e 100644 --- a/src/studio-home/data/api.js +++ b/src/studio-home/data/api.js @@ -16,6 +16,15 @@ export async function getStudioHomeData() { return camelCaseObject(data); } +/** + * Get's studio home courses. + * @param {string} search - Query string parameters for filtering the courses. + * @param {object} customParams - Additional custom parameters for the API request. + * @returns {Promise} - A Promise that resolves to the response data containing the studio home courses. + * Note: We are changing /api/contentstore/v1 to /api/contentstore/v2 due to upcoming breaking changes. + * Features such as pagination, filtering, and ordering are better handled in the new version. + * Please refer to this PR for further details: https://github.com/openedx/edx-platform/pull/34173 + */ export async function getStudioHomeCourses(search, customParams) { const { data } = await getAuthenticatedHttpClient().get(`${getApiBaseUrl()}/api/contentstore/v2/home/courses${search}`, { params: customParams }); return camelCaseObject(data); diff --git a/src/studio-home/factories/mockApiResponses.jsx b/src/studio-home/factories/mockApiResponses.jsx index 8a754ed9d..cbe5085b5 100644 --- a/src/studio-home/factories/mockApiResponses.jsx +++ b/src/studio-home/factories/mockApiResponses.jsx @@ -54,28 +54,6 @@ export const generateGetStudioCoursesApiResponse = () => ({ previous: null, numPages: 2, results: { - archivedCourses: [ - { - courseKey: 'course-v1:MachineLearning+123+2023', - displayName: 'Machine Learning', - lmsLink: '//localhost:18000/courses/course-v1:MachineLearning+123+2023/jump_to/block-v1:MachineLearning+123+2023+type@course+block@course', - number: '123', - org: 'LSE', - rerunLink: '/course_rerun/course-v1:MachineLearning+123+2023', - run: '2023', - url: '/course/course-v1:MachineLearning+123+2023', - }, - { - courseKey: 'course-v1:Design+123+e.g.2025', - displayName: 'Design', - lmsLink: '//localhost:18000/courses/course-v1:Design+123+e.g.2025/jump_to/block-v1:Design+123+e.g.2025+type@course+block@course', - number: '123', - org: 'University of Cape Town', - rerunLink: '/course_rerun/course-v1:Design+123+e.g.2025', - run: 'e.g.2025', - url: '/course/course-v1:Design+123+e.g.2025', - }, - ], courses: [ { courseKey: 'course-v1:HarvardX+123+2023', diff --git a/src/studio-home/tabs-section/TabsSection.test.jsx b/src/studio-home/tabs-section/TabsSection.test.jsx index c00ed4a97..142dd9e8f 100644 --- a/src/studio-home/tabs-section/TabsSection.test.jsx +++ b/src/studio-home/tabs-section/TabsSection.test.jsx @@ -150,40 +150,6 @@ describe('', () => { }); }); - describe('archived tab', () => { - it('should switch to Archived tab and render specific archived course details', async () => { - render(); - axiosMock.onGet(getStudioHomeApiUrl()).reply(200, generateGetStudioHomeDataApiResponse()); - axiosMock.onGet(courseApiLink).reply(200, generateGetStudioCoursesApiResponse()); - await executeThunk(fetchStudioHomeData(), store.dispatch); - - const archivedTab = screen.getByText(tabMessages.archivedTabTitle.defaultMessage); - fireEvent.click(archivedTab); - - expect(screen.getByText(studioHomeMock.archivedCourses[0].displayName)).toBeVisible(); - - expect(screen.getByText( - `${studioHomeMock.archivedCourses[0].org} / ${studioHomeMock.archivedCourses[0].number} / ${studioHomeMock.archivedCourses[0].run}`, - )).toBeVisible(); - }); - - it('should hide Archived tab when archived courses are empty', async () => { - const data = generateGetStudioCoursesApiResponse(); - data.results.archivedCourses = []; - - render(); - axiosMock.onGet(getStudioHomeApiUrl()).reply(200, generateGetStudioHomeDataApiResponse()); - axiosMock.onGet(courseApiLink).reply(200, data); - await executeThunk(fetchStudioHomeData(), store.dispatch); - - expect(screen.getByText(tabMessages.coursesTabTitle.defaultMessage)).toBeInTheDocument(); - - expect(screen.getByText(tabMessages.librariesTabTitle.defaultMessage)).toBeInTheDocument(); - - expect(screen.queryByText(tabMessages.archivedTabTitle.defaultMessage)).toBeNull(); - }); - }); - describe('library tab', () => { it('should switch to Libraries tab and render specific library details', async () => { render();