Skip to content

Commit b827db8

Browse files
KristinAokifeanil
authored andcommitted
fix: lint errors
1 parent 5b7f76b commit b827db8

File tree

4 files changed

+20
-111
lines changed

4 files changed

+20
-111
lines changed

src/courseware/course/breadcrumbs/BreadcrumbItem.tsx

+5-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
useToggle,
55
ModalPopup,
66
Menu,
7+
Button,
78
} from '@openedx/paragon';
89
import { Link, useLocation } from 'react-router-dom';
910
import JumpNavMenuItem from '../JumpNavMenuItem';
@@ -33,7 +34,7 @@ const BreadcrumbItem: React.FC<Props> = ({
3334
sequenceId,
3435
unitId,
3536
isStaff,
36-
}) => {
37+
}) => {
3738
const defaultContent = content.filter(
3839
(destination: { default: boolean }) => destination.default,
3940
)[0] || { id: courseId, label: '', sequences: [] };
@@ -73,9 +74,9 @@ const BreadcrumbItem: React.FC<Props> = ({
7374
<>
7475
{
7576
// @ts-ignore
76-
<a className="text-primary-500" variant="link" onClick={open} ref={setTarget}>
77+
<Button className="text-primary-500 m-0 p-0" variant="link" onClick={open} ref={setTarget}>
7778
{defaultContent.label}
78-
</a>
79+
</Button>
7980
}
8081
<ModalPopup positionRef={target} isOpen={isOpen} onClose={close}>
8182
<Menu>
@@ -100,4 +101,4 @@ const BreadcrumbItem: React.FC<Props> = ({
100101
);
101102
};
102103

103-
export default BreadcrumbItem;
104+
export default BreadcrumbItem;

src/courseware/course/breadcrumbs/CourseBreadcrumbs.jsx

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import React, { useMemo } from 'react';
22
import PropTypes from 'prop-types';
3+
import { useSelector } from 'react-redux';
4+
import { Link } from 'react-router-dom';
35
import { FormattedMessage } from '@edx/frontend-platform/i18n';
46
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
57
import { faHome } from '@fortawesome/free-solid-svg-icons';
6-
import { useSelector } from 'react-redux';
7-
import { Link } from 'react-router-dom';
8+
89
import { useModel, useModels } from '../../../generic/model-store';
910
import BreadcrumbItem from './BreadcrumbItem';
1011

@@ -15,13 +16,11 @@ const CourseBreadcrumbs = ({
1516
unitId,
1617
isStaff,
1718
}) => {
18-
const course = useModel('coursewareMeta', courseId);
19+
const course = useModel('coursewareMeta', courseId);
1920
const courseStatus = useSelector((state) => state.courseware.courseStatus);
2021
const sequenceStatus = useSelector(
2122
(state) => state.courseware.sequenceStatus,
2223
);
23-
console.log( useModels('sections', course.sectionIds));
24-
2524

2625
const allSequencesInSections = Object.fromEntries(
2726
useModels('sections', course.sectionIds)?.map((section) => [
@@ -59,8 +58,6 @@ const CourseBreadcrumbs = ({
5958
}
6059
return [chapters, sequentials];
6160
}, [courseStatus, sequenceStatus, allSequencesInSections]);
62-
console.log(links);
63-
6461

6562
return (
6663
<nav aria-label="breadcrumb" className="d-inline-block col-sm-10 mb-3">

src/courseware/course/breadcrumbs/CourseBreadcrumbs.test.jsx

+10-99
Original file line numberDiff line numberDiff line change
@@ -3,97 +3,16 @@ import { AppProvider } from '@edx/frontend-platform/react';
33
import { render, screen } from '@testing-library/react';
44
import { MemoryRouter } from 'react-router-dom';
55
import { IntlProvider } from '@edx/frontend-platform/i18n';
6+
67
import { initializeMockApp, initializeTestStore } from '@src/setupTest';
78
import CourseBreadcrumbs from './CourseBreadcrumbs';
89

9-
// import { useModel, useModels } from '../../../generic/model-store';
10-
11-
// jest.mock('@edx/frontend-platform');
12-
// jest.mock('@edx/frontend-platform/analytics');
13-
14-
// // Remove When Fully rolled out>>>
15-
// jest.mock('../../../generic/model-store');
16-
// jest.mock('@edx/frontend-platform/auth');
17-
// getConfig.mockImplementation(() => ({ ENABLE_JUMPNAV: 'true' }));
18-
// getAuthenticatedUser.mockImplementation(() => ({ administrator: true }));
19-
// // ^^^^Remove When Fully rolled out
20-
21-
// jest.mock('react-redux', () => ({
22-
// connect: (mapStateToProps, mapDispatchToProps) => (ReactComponent) => ({
23-
// mapStateToProps,
24-
// mapDispatchToProps,
25-
// ReactComponent,
26-
// }),
27-
// Provider: ({ children }) => children,
28-
// useSelector: () => 'loaded',
29-
// }));
30-
// jest.mock('react-router-dom', () => ({
31-
// ...jest.requireActual('react-router-dom'),
32-
// Link: jest.fn().mockImplementation(({ to, children }) => (
33-
// <a href={to}>{children}</a>
34-
// )),
35-
// }));
36-
37-
// useModels.mockImplementation((name) => {
38-
// if (name === 'sections') {
39-
// return [
40-
// {
41-
// courseId: 'course-v1:edX+DemoX+Demo_Course',
42-
// id: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b',
43-
// sequenceIds: ['block-v1:edX+DemoX+Demo_Course+type@sequential+block@edx_introduction'],
44-
// title: 'Introduction',
45-
// },
46-
// {
47-
// courseId: 'course-v1:edX+DemoX+Demo_Course',
48-
// id: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations',
49-
// sequenceIds: ['block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5',
50-
// 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions'],
51-
// title: 'Example Week 1: Getting Started',
52-
// },
53-
// ];
54-
// }
55-
// return [
56-
// {
57-
// id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5',
58-
// sectionId: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations',
59-
// title: 'Lesson 1 - Getting Started',
60-
// unitIds: [
61-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec',
62-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9',
63-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0',
64-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76',
65-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@256f17a44983429fb1a60802203ee4e0',
66-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1',
67-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e',
68-
// ],
69-
// },
70-
// {
71-
// id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions',
72-
// sectionId: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations',
73-
// title: 'Homework - Question Styles',
74-
// unitIds: [
75-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7',
76-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@47dbd5f836544e61877a483c0b75606c',
77-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68',
78-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0c92347a5c00',
79-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_1fef54c2b23b',
80-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@2889db1677a549abb15eb4d886f95d1c',
81-
// 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@e8a5cc2aed424838853defab7be45e42',
82-
// ],
83-
// },
84-
// ];
85-
// });
86-
// useModel.mockImplementation(() => ({
87-
// sectionIds: ['block-v1:edX+DemoX+Demo_Course+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b',
88-
// 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations'],
89-
// }));
90-
9110
const props = {
92-
courseId: "course-v1:edX+DemoX+Demo_Course",
93-
sectionId: "block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations",
94-
sequenceId: "block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions",
11+
courseId: 'course-v1:edX+DemoX+Demo_Course',
12+
sectionId: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations',
13+
sequenceId: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions',
9514
isStaff: true,
96-
}
15+
};
9716

9817
const courseMetadata = Factory.build('courseMetadata', { courseId: props.courseId, sectionIds: [props.sectionId] });
9918
const sequenceBlocks = [Factory.build(
@@ -103,10 +22,11 @@ const sequenceBlocks = [Factory.build(
10322
)];
10423
const sectionBlocks = [Factory.build(
10524
'block',
106-
{ type: 'chapter',
25+
{
26+
type: 'chapter',
10727
id: props.sectionId,
10828
title: 'Section',
109-
children: [{ id: props.sequenceId}],
29+
children: [{ id: props.sequenceId }],
11030
},
11131
{ courseId: props.courseId },
11232
)];
@@ -115,21 +35,12 @@ initializeMockApp();
11535

11636
describe('CourseBreadcrumbs', () => {
11737
let store = {};
118-
let unit;
119-
let sequenceId;
12038

12139
const initTestStore = async () => {
122-
const courseBlocks = { sectionBlocks, sequenceBlocks };
123-
console.log(courseBlocks);
124-
125-
store = await initializeTestStore({ courseMetadata, ...courseBlocks });
126-
const state = store.getState();
127-
[sequenceId] = Object.keys(state.courseware.courseOutline.sequences);
128-
const sequence = state.courseware.courseOutline.sequences[sequenceId];
129-
unit = state.courseware.courseOutline.units[sequence.unitIds[0]];
40+
store = await initializeTestStore({ courseMetadata, sectionBlocks, sequenceBlocks });
13041
};
13142

132-
function renderWithProvider (pathname = '/course') {
43+
function renderWithProvider(pathname = '/course') {
13344
const { container } = render(
13445
<AppProvider store={store} wrapWithRouter={false}>
13546
<IntlProvider locale="en">
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
import CourseBreadcrumbs from './CourseBreadcrumbs';
22

3-
export default CourseBreadcrumbs;
3+
export default CourseBreadcrumbs;

0 commit comments

Comments
 (0)