diff --git a/src/containers/CourseCard/components/Banners/hooks.test.js b/src/containers/CourseCard/components/Banners/hooks.test.js
new file mode 100644
index 0000000..60c3ea1
--- /dev/null
+++ b/src/containers/CourseCard/components/Banners/hooks.test.js
@@ -0,0 +1,39 @@
+import { useIntl } from '@edx/frontend-platform/i18n';
+
+import { selectors } from 'data/redux';
+import { testCardValues } from 'testUtils';
+import * as appHooks from 'hooks';
+
+import * as hooks from './hooks';
+
+const { fieldKeys } = selectors.cardData;
+
+const courseNumber = 'my-test-course-number';
+
+describe('CourseCard banner hooks', () => {
+ let out;
+ const { formatMessage } = useIntl();
+ describe('useCourseBannerData', () => {
+ const courseData = {
+ isVerified: false,
+ isCourseRunActive: false,
+ canUpgrade: false,
+ isAuditAcessExpired: false,
+ courseWebsite: 'test-course-website',
+ };
+ beforeEach(() => {
+ appHooks.useCardValues.mockReturnValueOnce(courseData);
+ out = hooks.useCourseBannerData({ courseNumber });
+ });
+ testCardValues(courseNumber, {
+ isVerified: fieldKeys.isVerified,
+ isCourseRunActive: fieldKeys.isCourseRunActive,
+ canUpgrade: fieldKeys.canUpgrade,
+ isAuditAccessExpired: fieldKeys.isAuditAccessExpired,
+ courseWebsite: fieldKeys.courseWebsite,
+ });
+ it('forwards formatMessage from useIntl', () => {
+ expect(out.formatMessage).toEqual(formatMessage);
+ });
+ });
+});
diff --git a/src/setupTest.jsx b/src/setupTest.jsx
index 68e4c3f..da0b932 100755
--- a/src/setupTest.jsx
+++ b/src/setupTest.jsx
@@ -18,19 +18,21 @@ jest.mock('react', () => ({
jest.mock('@edx/frontend-platform/i18n', () => {
const i18n = jest.requireActual('@edx/frontend-platform/i18n');
const PropTypes = jest.requireActual('prop-types');
+ const formatMessage = jest.fn((msg) => (
+
+ ));
+ const formatDate = jest.fn().mockName('useIntl.formatDate');
return {
...i18n,
intlShape: PropTypes.shape({
formatMessage: PropTypes.func,
}),
useIntl: () => ({
- formatMessage: (msg) => (
-
- ),
- formatDate: jest.fn().mockName('useIntl.formatDate'),
+ formatMessage,
+ formatDate,
}),
IntlProvider: () => 'IntlProvider',
defineMessages: m => m,