Skip to content

Commit 8f0fc17

Browse files
committed
style: Nits on the code
1 parent 6b7f4b5 commit 8f0fc17

11 files changed

Lines changed: 29 additions & 23 deletions

File tree

plugins/course-apps/live/BbbSettings.test.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import userEvent from '@testing-library/user-event';
1313
import { executeThunk } from 'CourseAuthoring/utils';
1414
import PagesAndResourcesProvider from 'CourseAuthoring/pages-and-resources/PagesAndResourcesProvider';
1515

16-
import { CourseAuthoringProvider } from '@src/CourseAuthoringContext';
16+
import { CourseAuthoringProvider } from 'CourseAuthoring/CourseAuthoringContext';
1717
import LiveSettings from './Settings';
1818
import {
1919
generateLiveConfigurationApiResponse,

plugins/course-apps/live/Settings.test.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import ReactDOM from 'react-dom';
1515
import { executeThunk } from 'CourseAuthoring/utils';
1616
import PagesAndResourcesProvider from 'CourseAuthoring/pages-and-resources/PagesAndResourcesProvider';
1717

18-
import { CourseAuthoringProvider } from '@src/CourseAuthoringContext';
18+
import { CourseAuthoringProvider } from 'CourseAuthoring/CourseAuthoringContext';
1919
import LiveSettings from './Settings';
2020
import {
2121
generateLiveConfigurationApiResponse,

plugins/course-apps/live/ZoomSettings.test.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import ReactDOM from 'react-dom';
1010

1111
import { executeThunk } from 'CourseAuthoring/utils';
1212
import PagesAndResourcesProvider from 'CourseAuthoring/pages-and-resources/PagesAndResourcesProvider';
13-
import { CourseAuthoringProvider } from '@src/CourseAuthoringContext';
13+
import { CourseAuthoringProvider } from 'CourseAuthoring/CourseAuthoringContext';
1414
import LiveSettings from './Settings';
1515
import {
1616
generateLiveConfigurationApiResponse,

plugins/course-apps/proctoring/Settings.test.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import StudioApiService from 'CourseAuthoring/data/services/StudioApiService';
99
import ExamsApiService from 'CourseAuthoring/data/services/ExamsApiService';
1010
import PagesAndResourcesProvider from 'CourseAuthoring/pages-and-resources/PagesAndResourcesProvider';
1111
import { CourseAuthoringProvider } from 'CourseAuthoring/CourseAuthoringContext';
12-
import { getCourseDetailUrl } from 'CourseAuthoring/data/api';
12+
import { getCourseDetailsUrl } from 'CourseAuthoring/data/api';
1313
import ProctoredExamSettings from './Settings';
1414

1515
const courseId = 'course-v1%3AedX%2BDemoX%2BDemo_Course';
@@ -51,7 +51,7 @@ describe('ProctoredExamSettings', () => {
5151

5252
axiosMock = mocks.axiosMock;
5353
axiosMock
54-
.onGet(getCourseDetailUrl(courseId, user.username))
54+
.onGet(getCourseDetailsUrl(courseId, user.username))
5555
.reply(200, {
5656
courseId,
5757
name: 'Course Test',

src/CourseAuthoringPage.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ const CourseAuthoringPage = ({ children }: Props) => {
2626
}, []);
2727

2828
const { courseId, courseDetails, courseDetailStatus } = useCourseAuthoringContext();
29-
30-
const courseNumber = courseDetails ? courseDetails.number : undefined;
31-
const courseOrg = courseDetails ? courseDetails.org : undefined;
32-
const courseTitle = courseDetails ? courseDetails.name : courseId;
29+
const courseNumber = courseDetails?.number;
30+
const courseOrg = courseDetails?.org;
31+
const courseTitle = courseDetails?.name;
3332
const inProgress = courseDetailStatus === RequestStatus.IN_PROGRESS || courseDetailStatus === RequestStatus.PENDING;
3433
const courseAppsApiStatus = useSelector(getCourseAppsApiStatus);
3534
const { pathname } = useLocation();

src/custom-pages/CustomPages.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const CustomPages = () => {
5454

5555
document.title = getPageHeadTitle(courseDetails?.name || '', intl.formatMessage(messages.heading));
5656

57-
// @ts-ignore
57+
// @ts-expect-error - frontend-platform doesn't have type information
5858
const { config } = useContext(AppContext);
5959
const learningCourseURL = `${config.LEARNING_BASE_URL}/course/${courseId}`;
6060

src/data/api.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { camelCaseObject, getConfig, snakeCaseObject } from '@edx/frontend-platf
22
import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
33

44
const getStudioBaseUrl = () => getConfig().STUDIO_BASE_URL as string;
5-
export const getCourseDetailUrl = (courseId: string, username: string) => (
5+
export const getCourseDetailsUrl = (courseId: string, username: string) => (
66
`${getConfig().LMS_BASE_URL}/api/courses/v1/courses/${courseId}?username=${username}`
77
);
88

@@ -17,7 +17,10 @@ export type CourseDetailsData = {
1717
id: string;
1818
invitationOnly: boolean;
1919
isEnrolled: boolean;
20-
media: Object;
20+
media: Record<
21+
'image' | 'course_image' | 'banner_image' | 'course_video',
22+
Record<string, string | null>
23+
>;
2124
mobileAvailable: boolean;
2225
name: string;
2326
number: string;
@@ -47,9 +50,9 @@ export const getApiWaffleFlagsUrl = (courseId?: string): string => {
4750
return courseId ? `${baseUrl}${apiPath}/${courseId}` : `${baseUrl}${apiPath}`;
4851
};
4952

50-
export async function getCourseDetail(courseId: string, username: string): Promise<CourseDetailsData> {
53+
export async function getCourseDetails(courseId: string, username: string): Promise<CourseDetailsData> {
5154
const { data } = await getAuthenticatedHttpClient()
52-
.get(getCourseDetailUrl(courseId, username));
55+
.get(getCourseDetailsUrl(courseId, username));
5356
return {
5457
id: data.course_id,
5558
...camelCaseObject(data),

src/data/apiHooks.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
bulkModulestoreMigrate,
1010
getModulestoreMigrationStatus,
1111
BulkMigrateRequestData,
12-
getCourseDetail,
12+
getCourseDetails,
1313
} from './api';
1414
import { RequestStatus, RequestStatusType } from './constants';
1515

@@ -90,10 +90,14 @@ export const useModulestoreMigrationStatus = (migrationId: string | null) => (
9090
export const useCourseDetails = (courseId: string) => {
9191
const query = useQuery({
9292
queryKey: courseDetailsKey.courseDetails(courseId),
93-
queryFn: () => getCourseDetail(courseId, getAuthenticatedUser().username),
93+
queryFn: () => getCourseDetails(courseId, getAuthenticatedUser().username),
9494
retry: false,
9595
});
9696

97+
/**
98+
* Include a status summary field for now, to better match the old redux data
99+
* loading status that other components expect. This could be changed/removed in the future.
100+
*/
97101
let status: RequestStatusType = RequestStatus.PENDING;
98102

99103
if (query.isLoading) {

src/export-page/CourseExportPage.test.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Helmet } from 'react-helmet';
33
import Cookies from 'universal-cookie';
44

55
import { CourseAuthoringProvider } from '@src/CourseAuthoringContext';
6-
import { getCourseDetailUrl } from '@src/data/api';
6+
import { getCourseDetailsUrl } from '@src/data/api';
77
import {
88
initializeMocks,
99
fireEvent,
@@ -52,7 +52,7 @@ describe('<CourseExportPage />', () => {
5252
.onGet(postExportCourseApiUrl(courseId))
5353
.reply(200, exportPageMock);
5454
axiosMock
55-
.onGet(getCourseDetailUrl(courseId, user.username))
55+
.onGet(getCourseDetailsUrl(courseId, user.username))
5656
.reply(200, { courseId, name: courseName });
5757
cookies = new Cookies();
5858
cookies.get.mockReturnValue(null);

src/import-page/CourseImportPage.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Helmet } from 'react-helmet';
22
import Cookies from 'universal-cookie';
33

44
import { CourseAuthoringProvider } from '@src/CourseAuthoringContext';
5-
import { getCourseDetailUrl } from '@src/data/api';
5+
import { getCourseDetailsUrl } from '@src/data/api';
66
import { initializeMocks, render, waitFor } from '../testUtils';
77
import { RequestStatus } from '../data/constants';
88
import messages from './messages';
@@ -44,7 +44,7 @@ describe('<CourseImportPage />', () => {
4444
.onGet(getImportStatusApiUrl(courseId, 'testFileName.test'))
4545
.reply(200, { importStatus: 1, message: '' });
4646
axiosMock
47-
.onGet(getCourseDetailUrl(courseId, user.username))
47+
.onGet(getCourseDetailsUrl(courseId, user.username))
4848
.reply(200, { courseId, name: courseName });
4949
cookies = new Cookies();
5050
cookies.get.mockReturnValue(null);

0 commit comments

Comments
 (0)