+
+
+ )}
+ footerNode={(
+
+ )}
+ >
+ {intl.formatMessage(messages.confirmEmailModalHeader)}
+ {intl.formatMessage(messages.confirmEmailModalBody)}
+
+ >
+ );
+};
+
+export default DiscussionsConfirmEmailBanner;
diff --git a/src/discussions/discussions-home/DiscussionsConfirmEmailBanner.test.jsx b/src/discussions/discussions-home/DiscussionsConfirmEmailBanner.test.jsx
new file mode 100644
index 000000000..276eafc18
--- /dev/null
+++ b/src/discussions/discussions-home/DiscussionsConfirmEmailBanner.test.jsx
@@ -0,0 +1,111 @@
+import {
+ fireEvent, render, screen, waitFor,
+} from '@testing-library/react';
+import MockAdapter from 'axios-mock-adapter';
+import { act } from 'react-dom/test-utils';
+import { IntlProvider } from 'react-intl';
+import { Context as ResponsiveContext } from 'react-responsive';
+
+import { getConfig, initializeMockApp } from '@edx/frontend-platform';
+import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
+import { AppProvider } from '@edx/frontend-platform/react';
+
+import { initializeStore } from '../../store';
+import executeThunk from '../../test-utils';
+import { getDiscussionsConfigUrl } from '../data/api';
+import fetchCourseConfig from '../data/thunks';
+import DiscussionsConfirmEmailBanner from './DiscussionsConfirmEmailBanner';
+import messages from './messages';
+
+const courseId = 'course-v1:edX+DemoX+Demo_Course';
+let axiosMock;
+let store;
+
+function renderComponent() {
+ render(
+