diff --git a/src/courseware/course/sequence/Unit/ContentIFrame.test.jsx b/src/courseware/course/sequence/Unit/ContentIFrame.test.jsx
index 32f36ccf0b..9ba28a373a 100644
--- a/src/courseware/course/sequence/Unit/ContentIFrame.test.jsx
+++ b/src/courseware/course/sequence/Unit/ContentIFrame.test.jsx
@@ -1,7 +1,7 @@
import React from 'react';
import { ErrorPage } from '@edx/frontend-platform/react';
-import { Modal } from '@edx/paragon';
+import { ModalDialog } from '@edx/paragon';
import { shallow } from '@edx/react-unit-test-utils';
import PageLoading from '../../../../generic/PageLoading';
@@ -11,7 +11,13 @@ import ContentIFrame, { IFRAME_FEATURE_POLICY, testIDs } from './ContentIFrame';
jest.mock('@edx/frontend-platform/react', () => ({ ErrorPage: 'ErrorPage' }));
-jest.mock('@edx/paragon', () => ({ Modal: 'Modal' }));
+jest.mock('@edx/paragon', () => jest.requireActual('@edx/react-unit-test-utils')
+ .mockComponents({
+ Modal: 'Modal',
+ ModalDialog: {
+ Body: 'ModalDialog.Body',
+ },
+ }));
jest.mock('../../../../generic/PageLoading', () => 'PageLoading');
@@ -132,7 +138,7 @@ describe('ContentIFrame Component', () => {
});
it('does not display modal if modalOptions returns isOpen: false', () => {
el = shallow();
- expect(el.instance.findByType(Modal).length).toEqual(0);
+ expect(el.instance.findByType(ModalDialog).length).toEqual(0);
});
describe('if modalOptions.isOpen', () => {
const testModalOpenAndHandleClose = () => {
@@ -144,10 +150,13 @@ describe('ContentIFrame Component', () => {
beforeEach(() => {
hooks.useModalIFrameData.mockReturnValueOnce({ ...modalIFrameData, modalOptions: modalOptions.withBody });
el = shallow();
- [component] = el.instance.findByType(Modal);
+ [component] = el.instance.findByType(ModalDialog);
});
it('displays Modal with div wrapping provided body content if modal.body is provided', () => {
- expect(component.props.body).toEqual(
{modalOptions.withBody.body}
);
+ const content = component.findByType(ModalDialog.Body)[0].children[0];
+ expect(content.matches(shallow(
+ {modalOptions.withBody.body}
,
+ ))).toEqual(true);
});
testModalOpenAndHandleClose();
});
@@ -155,11 +164,12 @@ describe('ContentIFrame Component', () => {
beforeEach(() => {
hooks.useModalIFrameData.mockReturnValueOnce({ ...modalIFrameData, modalOptions: modalOptions.withUrl });
el = shallow();
- [component] = el.instance.findByType(Modal);
+ [component] = el.instance.findByType(ModalDialog);
});
testModalOpenAndHandleClose();
it('displays Modal with iframe to provided url if modal.body is not provided', () => {
- expect(component.props.body).toEqual(
+ const content = component.findByType(ModalDialog.Body)[0].children[0];
+ expect(content.matches(shallow(