Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
44d952b
chore: update browserslist DB (#1734)
edx-requirements-bot Jun 16, 2025
ecd5164
fix(deps): update dependency @openedx/frontend-build to v14.6.1 (#1700)
renovate[bot] Jun 18, 2025
bc4c8c2
fix(deps): update dependency @edx/frontend-component-footer to v14.9.…
renovate[bot] Jun 18, 2025
462e75f
fix(deps): update dependency @edx/frontend-platform to v8.4.0 (#1739)
renovate[bot] Jun 18, 2025
ddbc212
feat!: add design tokens support (#1737)
brian-smith-tcril Jun 18, 2025
b050535
fix: Fixes the auto_advance feature for video XBlock
farhaanbukhsh Jul 29, 2024
77fcc83
chore: update browserslist DB (#1744)
edx-requirements-bot Jun 30, 2025
e413464
chore: update browserslist DB (#1755)
edx-requirements-bot Jul 7, 2025
06902d8
feat: remove waffle flags for managing course outline sidebar (#1713)
ihor-romaniuk Jul 21, 2025
a75c89c
test: deprecate react-test-utils 2/2 (#1751)
diana-villalvazo-wgu Jul 28, 2025
33d7d66
test: deprecate react-unit-test-utils 1/2 (#1750)
diana-villalvazo-wgu Jul 28, 2025
48270c3
chore: remove react-unit-test-utils package (#1758)
diana-villalvazo-wgu Jul 28, 2025
bf95916
docs: add comprehensive readme documentation for plugin slots (#1770)
jacobo-dominguez-wgu Jul 28, 2025
56a73ee
test: transform snapshot into rtl test 2/2 (#1757)
diana-villalvazo-wgu Jul 29, 2025
6892633
test: transform snapshot into rtl test 1/2 (#1756)
diana-villalvazo-wgu Jul 29, 2025
4c8aa7c
feat: add FEATURE_ENABLE_CHAT_V2_ENDPOINT to environment files and up…
mraman-2U Jul 29, 2025
9cbc227
feat: use discount info endpoint for streak discount information (#1763)
NawfalAhmed Jul 31, 2025
e9121f9
feat: display the certificate available date if available in progress…
dcoa May 26, 2025
db29e31
feat: customize proctoring review requirements link using externalLin…
Anas12091101 Aug 4, 2025
e6f7588
chore(deps): bump js-toml from 1.0.1 to 1.0.2
dependabot[bot] Aug 5, 2025
a6e4e28
chore(deps): bump actions/checkout from 4 to 5
dependabot[bot] Aug 11, 2025
2b4a966
chore: update browserslist DB
abdullahwaheed Aug 18, 2025
579bd03
feat: updated notification preferences unsubscribe flow (#1778)
muhammadadeeltajamul Aug 21, 2025
4840fff
chore(deps): bump actions/download-artifact from 4 to 5 (#1779)
dependabot[bot] Aug 21, 2025
f333408
chore: update browserslist DB (#1783)
edx-requirements-bot Aug 25, 2025
9bf5d01
chore: update learning assistant plugin 2.23.0 (#1781)
ilee2u Aug 25, 2025
d5140a6
chore: update browserslist DB (#1784)
edx-requirements-bot Sep 1, 2025
c760bc4
chore: update browserslist DB (#1788)
edx-requirements-bot Sep 8, 2025
7fccf77
fix: update frontend-build to fix install issues
samuelallan72 Sep 1, 2025
af50d5a
test: Add Node 24 to CI matrix (#1752)
PKulkoRaccoonGang Sep 16, 2025
8702630
fix: ensure iframe visibility tracking is triggered on load
Agrendalath Apr 5, 2025
33f7375
chore: update browserslist DB (#1793)
edx-requirements-bot Sep 22, 2025
d3188ef
build: remove unused @edx/reactifex package
feanil Sep 23, 2025
a54a1b8
chore: update browserslist DB (#1795)
edx-requirements-bot Sep 29, 2025
e83813d
build: Upgrade to node 24 and update package-lock.json
PKulkoRaccoonGang Oct 6, 2025
694d95a
chore(deps): update dependency @edx/frontend-component-footer to v14.…
renovate[bot] Oct 7, 2025
e556d5b
chore(deps): update dependency @edx/frontend-component-header to v6.4…
renovate[bot] Oct 7, 2025
47b9a43
chore: bump frontend-component-header to v8.x.x (#1791)
Anas12091101 Oct 8, 2025
d6d229f
chore: update browserslist DB (#1799)
edx-requirements-bot Oct 13, 2025
7233f08
feat: update version of frontend-lib-learning-assistant to 2.23.1 (#1…
michaelroytman Oct 15, 2025
7318fb3
chore: update browserslist DB (#1808)
edx-requirements-bot Oct 20, 2025
f91af21
feat: add plugin slot for content iframe error component (#1771)
jansenk Oct 20, 2025
52692dc
refactor: shift grade summary calculation to backend and display "hid…
Anas12091101 Oct 24, 2025
1d5484f
fix: re-add removed import (#1815)
jansenk Oct 28, 2025
7989f6d
chore: merge 'openedx/release/ulmo' into 'edx/release/ulmo'
nsprenkle Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
Expand All @@ -24,11 +24,11 @@ jobs:
runs-on: ubuntu-latest
needs: tests
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Download code coverage results
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: code-coverage-report
pattern: code-coverage-report
- name: Upload coverage
uses: codecov/codecov-action@v5
with:
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
20
24
2,424 changes: 1,169 additions & 1,255 deletions package-lock.json

Large diffs are not rendered by default.

7 changes: 2 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"i18n_extract": "fedx-scripts formatjs extract",
"lint": "fedx-scripts eslint --ext .js --ext .jsx --ext .ts --ext .tsx .",
"lint:fix": "fedx-scripts eslint --fix --ext .js --ext .jsx --ext .ts --ext .tsx .",
"snapshot": "fedx-scripts jest --updateSnapshot",
"start": "fedx-scripts webpack-dev-server --progress",
"start:with-theme": "paragon install-theme && npm start && npm install",
"dev": "PUBLIC_PATH=/learning/ MFE_CONFIG_API_URL='http://localhost:8000/api/mfe_config/v1' fedx-scripts webpack-dev-server --progress --host apps.local.openedx.io",
Expand All @@ -39,14 +38,13 @@
"@edx/frontend-component-header": "^6.2.0",
"@edx/frontend-lib-learning-assistant": "^2.24.0",
"@edx/frontend-lib-special-exams": "^4.0.0",
"@edx/frontend-platform": "^8.3.1",
"@edx/frontend-platform": "^8.4.0",
"@edx/openedx-atlas": "^0.7.0",
"@edx/react-unit-test-utils": "^4.0.0",
"@fortawesome/free-brands-svg-icons": "5.15.4",
"@fortawesome/free-regular-svg-icons": "5.15.4",
"@fortawesome/free-solid-svg-icons": "5.15.4",
"@fortawesome/react-fontawesome": "^0.1.4",
"@openedx/frontend-build": "^14.5.0",
"@openedx/frontend-build": "^14.6.2",
"@openedx/frontend-plugin-framework": "^1.7.0",
"@openedx/paragon": "^23.4.5",
"@popperjs/core": "2.11.8",
Expand Down Expand Up @@ -76,7 +74,6 @@
"truncate-html": "1.0.4"
},
"devDependencies": {
"@edx/reactifex": "2.2.0",
"@pact-foundation/pact": "^13.0.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.2.0",
Expand Down
228 changes: 0 additions & 228 deletions src/__snapshots__/index.test.jsx.snap

This file was deleted.

10 changes: 7 additions & 3 deletions src/course-home/courseware-search/CoursewareSearchEmpty.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
screen,
} from '../../setupTest';
import CoursewareSearchEmpty from './CoursewareSearchEmpty';
import messages from './messages';

function renderComponent() {
const { container } = render(<CoursewareSearchEmpty />);
Expand All @@ -16,9 +17,12 @@ describe('CoursewareSearchEmpty', () => {
initializeMockApp();
});

it('should match the snapshot', () => {
it('render empty results text and corresponding classes', () => {
renderComponent();

expect(screen.getByTestId('no-results')).toMatchSnapshot();
const emptyText = screen.getByText(messages.searchResultsNone.defaultMessage);
expect(emptyText).toBeInTheDocument();
expect(emptyText).toHaveClass('courseware-search-results__empty');
expect(emptyText).toHaveAttribute('data-testid', 'no-results');
expect(emptyText.parentElement).toHaveClass('courseware-search-results');
});
});
50 changes: 48 additions & 2 deletions src/course-home/courseware-search/CoursewareSearchResults.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
import CoursewareSearchResults from './CoursewareSearchResults';
import messages from './messages';
import searchResultsFactory from './test-data/search-results-factory';
import * as mock from './test-data/mocked-response.json';

jest.mock('react-redux');

Expand Down Expand Up @@ -34,8 +35,53 @@ describe('CoursewareSearchResults', () => {
renderComponent({ results });
});

it('should match the snapshot', () => {
expect(screen.getByTestId('search-results')).toMatchSnapshot();
it('should render complete list', () => {
const courses = screen.getAllByRole('link');
expect(courses.length).toBe(mock.results.length);
});

it('should render correct link for internal course', () => {
const courses = screen.getAllByRole('link');
const firstCourse = courses[0];
const firstCourseTitle = firstCourse.querySelector('.courseware-search-results__title span');
expect(firstCourseTitle.innerHTML).toEqual(mock.results[0].data.content.display_name);
expect(firstCourse.href).toContain(mock.results[0].data.url);
expect(firstCourse).not.toHaveAttribute('target', '_blank');
expect(firstCourse).not.toHaveAttribute('rel', 'nofollow');
});

it('should render correct link if is External url course', () => {
const courses = screen.getAllByRole('link');
const externalCourse = courses[courses.length - 1];
const externalCourseTitle = externalCourse.querySelector('.courseware-search-results__title span');
expect(externalCourseTitle.innerHTML).toEqual(mock.results[mock.results.length - 1].data.content.display_name);
expect(externalCourse.href).toContain(mock.results[mock.results.length - 1].data.url);
expect(externalCourse).toHaveAttribute('target', '_blank');
expect(externalCourse).toHaveAttribute('rel', 'nofollow');
const icon = externalCourse.querySelector('svg');
expect(icon).toBeInTheDocument();
});

it('should render location breadcrumbs', () => {
const breadcrumbs = screen.getAllByText(mock.results[0].data.location[0]);
expect(breadcrumbs.length).toBeGreaterThan(0);
const firstBreadcrumb = breadcrumbs[0].closest('li');
expect(firstBreadcrumb).toBeInTheDocument();
expect(firstBreadcrumb.querySelector('div').textContent).toBe(mock.results[0].data.location[0]);
expect(firstBreadcrumb.nextSibling.querySelector('div').textContent).toBe(mock.results[0].data.location[1]);
});
});

describe('when results are provided with content hits', () => {
beforeEach(() => {
const { results } = searchResultsFactory('Passing');
renderComponent({ results });
});

it('should render content hits', () => {
const contentHits = screen.getByText('1');
expect(contentHits).toBeInTheDocument();
expect(contentHits.tagName).toBe('EM');
});
});
});

This file was deleted.

Loading
Loading