= (props: ImportListP
-
-
-
+
+
+
- {resourceId && }
);
diff --git a/packages/fhir-import/src/containers/ImportListView/tests/__snapshots__/index-rtl.test.tsx.snap b/packages/fhir-import/src/containers/ImportListView/tests/__snapshots__/index-rtl.test.tsx.snap
deleted file mode 100644
index b10ae19dc..000000000
--- a/packages/fhir-import/src/containers/ImportListView/tests/__snapshots__/index-rtl.test.tsx.snap
+++ /dev/null
@@ -1,301 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Care Teams list view renders correctly: table row 1 page 1 1`] = `
-
- Care Team One
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 1 page 1 2`] = `
-
-
-
- Edit
-
-
-
-
-
-
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 2 page 1 1`] = `
-
- Care Team Three
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 2 page 1 2`] = `
-
-
-
- Edit
-
-
-
-
-
-
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 3 page 1 1`] = `
-
- Care Team Five
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 3 page 1 2`] = `
-
-
-
- Edit
-
-
-
-
-
-
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 4 page 1 1`] = `
-
- test 33
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 4 page 1 2`] = `
-
-
-
- Edit
-
-
-
-
-
-
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 5 page 1 1`] = `
-
- Care Team Six
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 5 page 1 2`] = `
-
-
-
- Edit
-
-
-
-
-
-
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 6 page 1 1`] = `
-
- Care Team Four
- |
-`;
-
-exports[`Care Teams list view renders correctly: table row 6 page 1 2`] = `
-
-
-
- Edit
-
-
-
-
-
-
- |
-`;
diff --git a/packages/fhir-import/src/containers/ImportListView/tests/__snapshots__/index.test.tsx.snap b/packages/fhir-import/src/containers/ImportListView/tests/__snapshots__/index.test.tsx.snap
index f4f53c80d..985ce11ad 100644
--- a/packages/fhir-import/src/containers/ImportListView/tests/__snapshots__/index.test.tsx.snap
+++ b/packages/fhir-import/src/containers/ImportListView/tests/__snapshots__/index.test.tsx.snap
@@ -3,52 +3,53 @@
exports[`Care Teams list view renders correctly: table row 1 page 1 1`] = `
-
+`;
+
+exports[`Care Teams list view renders correctly: table row 1 page 1 2`] = `
+
+ orgToLocationAssignment
+ |
+`;
+
+exports[`Care Teams list view renders correctly: table row 1 page 1 3`] = `
+
+ organizations_locations.csv
+ |
+`;
+
+exports[`Care Teams list view renders correctly: table row 1 page 1 4`] = `
+
+
-
-
- No data
-
-
+ completed
+
+ |
+`;
+
+exports[`Care Teams list view renders correctly: table row 1 page 1 5`] = `
+
+ 07/04/2024, 12:26:51 PM
+ |
+`;
+
+exports[`Care Teams list view renders correctly: table row 1 page 1 6`] = `
+
+
|
`;
diff --git a/packages/fhir-import/src/containers/ImportListView/tests/index.test.tsx b/packages/fhir-import/src/containers/ImportListView/tests/index.test.tsx
index dd7864788..03aaf1725 100644
--- a/packages/fhir-import/src/containers/ImportListView/tests/index.test.tsx
+++ b/packages/fhir-import/src/containers/ImportListView/tests/index.test.tsx
@@ -3,17 +3,27 @@ import { Provider } from 'react-redux';
import { authenticateUser } from '@onaio/session-reducer';
import { DataImportList } from '..';
import { Route, Router, Switch } from 'react-router';
-import { createBrowserHistory } from 'history';
import nock from 'nock';
import * as reactQuery from 'react-query';
-import { waitForElementToBeRemoved, fireEvent, render, cleanup } from '@testing-library/react';
+import { waitForElementToBeRemoved, render, cleanup } from '@testing-library/react';
import { store } from '@opensrp/store';
import { workflows } from './fixtures';
-import { DATA_IMPORT_LIST_URL, IMPORT_DOMAIN_URI } from '../../../constants';
+import * as constants from '../../../constants';
import { createMemoryHistory } from 'history';
import { RoleContext } from '@opensrp/rbac';
import { superUserRole } from '@opensrp/react-utils';
+// eslint-disable-next-line @typescript-eslint/no-var-requires
+const fetch = require('node-fetch');
+global.fetch = fetch;
+
+jest.mock("../../../constants", () => {
+ return ({
+ __esModule: true,
+ ...Object.assign({}, jest.requireActual('../../../constants')),
+ IMPORT_DOMAIN_URI: "http://localhost"
+ });
+})
const { QueryClient, QueryClientProvider } = reactQuery;
@@ -31,10 +41,6 @@ jest.mock('@opensrp/notifications', () => ({
...Object.assign({}, jest.requireActual('@opensrp/notifications')),
}));
-const history = createBrowserHistory();
-
-const props = {
-};
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const AppWrapper = (props: any) => {
@@ -43,10 +49,10 @@ const AppWrapper = (props: any) => {
-
+
{(routeProps) => }
-
+
{(routeProps) => }
@@ -84,21 +90,22 @@ describe('Care Teams list view', () => {
});
it('renders correctly', async () => {
- nock(IMPORT_DOMAIN_URI)
- .get(`/$import`)
+ nock(constants.IMPORT_DOMAIN_URI)
+ .get("/$import")
.reply(200, workflows)
.persist();
const history = createMemoryHistory();
- history.push(DATA_IMPORT_LIST_URL);
+ history.push(constants.DATA_IMPORT_LIST_URL);
- render(
+ render(
-
+
);
await waitForElementToBeRemoved(document.querySelector('.ant-spin'));
+ expect(nock.pendingMocks()).toEqual([])
expect(document.querySelector('title')).toMatchInlineSnapshot(`
@@ -112,20 +119,7 @@ describe('Care Teams list view', () => {
});
});
- // view details
- nock(IMPORT_DOMAIN_URI)
- .get(`/$import/${workflows?.[0].workflowId}`)
- .query({ _id: '308', _include: 'CareTeam:*' })
- .reply(200, workflows[0])
- .persist();
-
- // target the initial row view details
- const dropdown = document.querySelector(
- 'tbody tr:nth-child(1) [data-testid="action-dropdown"]'
- ) as Element;
- fireEvent.click(dropdown);
-
- expect(history.location).toEqual({})
+ expect(nock.pendingMocks()).toEqual([])
});
});
diff --git a/packages/fhir-import/src/containers/ImportListView/tests/utils.tsx b/packages/fhir-import/src/containers/ImportListView/tests/utils.tsx
deleted file mode 100644
index 0d80e1256..000000000
--- a/packages/fhir-import/src/containers/ImportListView/tests/utils.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-/* eslint-disable react/display-name */
-import { render } from '@testing-library/react';
-import * as React from 'react';
-import { QueryClient, QueryClientProvider } from 'react-query';
-
-export const createTestQueryClient = () =>
- new QueryClient({
- defaultOptions: {
- queries: {
- retry: false,
- cacheTime: 0,
- staleTime: 0,
- },
- },
- });
-
-/**
- * Test util function to render element with react query provider
- *
- * @param ui - element to be rendered
- * @returns {React.ReactElement} - returns element with react query provider wrapper
- */
-export function renderWithClient(ui: React.ReactElement) {
- const testQueryClient = createTestQueryClient();
- const { rerender, ...result } = render(
- {ui}
- );
- return {
- ...result,
- rerender: (rerenderUi: React.ReactElement) =>
- rerender({rerenderUi}),
- };
-}
-
-/**
- * Test Util function to create element wrapper
- *
- * @returns {React.ReactElement} - returns element with react query provider wrapper
- */
-export function createWrapper() {
- const testQueryClient = createTestQueryClient();
- return ({ children }: { children: React.ReactNode }) => (
- {children}
- );
-}
diff --git a/packages/fhir-import/src/containers/StartImportView/form.css b/packages/fhir-import/src/containers/StartImportView/form.css
index 6c4a4337f..98f3f89d0 100644
--- a/packages/fhir-import/src/containers/StartImportView/form.css
+++ b/packages/fhir-import/src/containers/StartImportView/form.css
@@ -1,6 +1,19 @@
form.import-form .ant-form-item-label label {
- width: 144px;
- word-break: break-word;
- text-align: left;
- white-space: wrap;
- }
\ No newline at end of file
+ width: 144px;
+ word-break: break-word;
+ text-align: left;
+ white-space: wrap;
+}
+
+.form-instructions-steps .ant-steps-item-icon {
+ background-color: rgba(0, 0, 0, 0.06) !important;
+ border-color: transparent !important;
+
+ > .ant-steps-icon{
+ color: rgba(0, 0, 0, 0.65) !important;
+ }
+}
+
+.form-instructions-steps .ant-steps-item-description {
+ color: rgba(0, 0, 0, 0.88) !important;
+}
diff --git a/packages/fhir-import/src/containers/StartImportView/form.tsx b/packages/fhir-import/src/containers/StartImportView/form.tsx
index abe69c409..f0355a2a0 100644
--- a/packages/fhir-import/src/containers/StartImportView/form.tsx
+++ b/packages/fhir-import/src/containers/StartImportView/form.tsx
@@ -4,19 +4,18 @@ import UploadIcon from "@2fd/ant-design-icons/lib/Upload";
import UploadOutlined from "@2fd/ant-design-icons/lib/UploadOutline";
import { UploadChangeParam } from 'antd/es/upload';
import { useHistory } from 'react-router';
-import { useQuery, useMutation, useQueryClient } from 'react-query';
-import { OpenSRPService, formItemLayout, tailLayout } from "@opensrp/react-utils";
+import { useMutation, useQueryClient } from 'react-query';
+import { OpenSRPService } from "@opensrp/react-utils";
import { locations, users, organizations, careteams, inventories, orgToLocationAssignment, userToOrganizationAssignment, products, productImages, DATA_IMPORT_LIST_URL, IMPORT_DOMAIN_URI, dataImportRQueryKey } from '../../constants';
import { useTranslation } from '../../mls';
-import { sendErrorNotification, sendSuccessNotification, sendInfoNotification } from '@opensrp/notifications';
-import FormItem from 'antd/es/form/FormItem';
+import { sendErrorNotification, sendSuccessNotification } from '@opensrp/notifications';
import { HTTPMethod, getDefaultHeaders } from '@opensrp/server-service';
import "./form.css";
const { Text, Title } = Typography;
interface DataImportFormProps {
- hidden: string[]
+ hidden?: string[]
}
interface FormFields {
@@ -34,11 +33,10 @@ interface FormFields {
/**
* get payload for fetch
*
- * @param {object} _ - signal object that allows you to communicate with a DOM request
- * @param {string} accessToken - the access token
- * @param {string} method - the HTTP method
- * @param {object} data - data to be used for payload
- * @returns {Object} the payload
+ * @param _ - signal object that allows you to communicate with a DOM request
+ * @param accessToken - the access token
+ * @param method - the HTTP method
+ * @param data - data to be used for payload
*/
export function customFetchOptions(
_: AbortSignal,
@@ -103,8 +101,8 @@ export const DataImportForm = (props: DataImportFormProps) => {
UploadBtnText: "Attach organizations file"
}, {
formFieldName: careteams,
- label: "Careteams",
- UploadBtnText: "Attach careteams file"
+ label: "CareTeams",
+ UploadBtnText: "Attach careTeams file"
}, {
formFieldName: orgToLocationAssignment,
label: "Organization location assignment",
@@ -133,8 +131,9 @@ export const DataImportForm = (props: DataImportFormProps) => {
formItems.map(item => {
const { formFieldName, label, UploadBtnText } = item
return {
}
{
>
}>{"Attach product file"}
- {/*
-
- false}
- accept="text/csv"
- multiple={false}
- maxCount={1}
- >
- }>{"Attach products file"}
-
- */}
-
+
-
+
diff --git a/packages/fhir-import/src/containers/StartImportView/formInstructions.tsx b/packages/fhir-import/src/containers/StartImportView/formInstructions.tsx
index ffdd3c1f2..0a935a656 100644
--- a/packages/fhir-import/src/containers/StartImportView/formInstructions.tsx
+++ b/packages/fhir-import/src/containers/StartImportView/formInstructions.tsx
@@ -9,33 +9,20 @@ const { Title, Text } = Typography;
export const ImporterFormInstructions = () => {
- return <>
+ return
Step by step guide for bulk upload
Follow these simple instructions to help you prepare, upload, and verify your data smoothly and efficiently
-
- -
-
- - {InstructionStepOneTitle}
- - {InstructionStepOne}
-
-
- -
-
- - {InstructionStepTwoTitle}
- - {InstructionStepTwo}
-
-
-
- {/*
- */}
+
- >
+
}
export const InstructionStepOneTitle = Prepare your data file
diff --git a/packages/fhir-import/src/containers/StartImportView/index.tsx b/packages/fhir-import/src/containers/StartImportView/index.tsx
index 1186371a0..aca4512a4 100644
--- a/packages/fhir-import/src/containers/StartImportView/index.tsx
+++ b/packages/fhir-import/src/containers/StartImportView/index.tsx
@@ -22,7 +22,7 @@ export const StartDataImport = () => {
-
+
diff --git a/packages/fhir-import/src/containers/StartImportView/tests/__snapshots__/formInstruction.test.tsx.snap b/packages/fhir-import/src/containers/StartImportView/tests/__snapshots__/formInstruction.test.tsx.snap
new file mode 100644
index 000000000..181aee6a0
--- /dev/null
+++ b/packages/fhir-import/src/containers/StartImportView/tests/__snapshots__/formInstruction.test.tsx.snap
@@ -0,0 +1,3 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`renders correctly: textContent 1`] = `"Step by step guide for bulk uploadFollow these simple instructions to help you prepare, upload, and verify your data smoothly and efficiently1Prepare your data fileClick the button below to download the bulk upload template file(s) Download Template Enter your data into the template file. Ensure all required fields are filled and follow the specified format(e.g. date format,)Check for any data inconsistencies or errors (e.g. missing values, incorrect data types) before uploading2Upload your data fileClick the \\"Attach\\" button to select your prepared data file.Once the file or files are selected, click \\"Start Import\\" to begin the upload"`;
diff --git a/packages/fhir-import/src/containers/StartImportView/tests/__snapshots__/index.test.tsx.snap b/packages/fhir-import/src/containers/StartImportView/tests/__snapshots__/index.test.tsx.snap
new file mode 100644
index 000000000..181aee6a0
--- /dev/null
+++ b/packages/fhir-import/src/containers/StartImportView/tests/__snapshots__/index.test.tsx.snap
@@ -0,0 +1,3 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`renders correctly: textContent 1`] = `"Step by step guide for bulk uploadFollow these simple instructions to help you prepare, upload, and verify your data smoothly and efficiently1Prepare your data fileClick the button below to download the bulk upload template file(s) Download Template Enter your data into the template file. Ensure all required fields are filled and follow the specified format(e.g. date format,)Check for any data inconsistencies or errors (e.g. missing values, incorrect data types) before uploading2Upload your data fileClick the \\"Attach\\" button to select your prepared data file.Once the file or files are selected, click \\"Start Import\\" to begin the upload"`;
diff --git a/packages/fhir-import/src/containers/StartImportView/tests/form.test.tsx b/packages/fhir-import/src/containers/StartImportView/tests/form.test.tsx
new file mode 100644
index 000000000..54b13f019
--- /dev/null
+++ b/packages/fhir-import/src/containers/StartImportView/tests/form.test.tsx
@@ -0,0 +1,121 @@
+import React from 'react';
+import { authenticateUser } from '@onaio/session-reducer';
+import { DataImportForm } from '../form';
+import nock from 'nock';
+import * as reactQuery from 'react-query';
+import { render, cleanup, screen, fireEvent, waitFor } from '@testing-library/react';
+import { store } from '@opensrp/store';
+import userEvent from '@testing-library/user-event';
+import * as notifications from '@opensrp/notifications';
+import * as constants from '../../../constants';
+
+// eslint-disable-next-line @typescript-eslint/no-var-requires
+const fetch = require('node-fetch');
+global.fetch = fetch;
+
+jest.mock("../../../constants", () => {
+ return ({
+ __esModule: true,
+ ...Object.assign({}, jest.requireActual('../../../constants')),
+ IMPORT_DOMAIN_URI: "http://localhost"
+ });
+})
+
+jest.mock('@opensrp/notifications', () => ({
+ __esModule: true,
+ ...Object.assign({}, jest.requireActual('@opensrp/notifications')),
+}));
+
+
+const { QueryClient, QueryClientProvider } = reactQuery;
+
+const queryClient = new QueryClient({
+ defaultOptions: {
+ queries: {
+ retry: false,
+ cacheTime: 0,
+ },
+ },
+});
+
+
+beforeAll(() => {
+ nock.disableNetConnect();
+ store.dispatch(
+ authenticateUser(
+ true,
+ {
+ email: 'bob@example.com',
+ name: 'Bobbie',
+ username: 'RobertBaratheon',
+ },
+ // eslint-disable-next-line @typescript-eslint/naming-convention
+ { api_token: 'hunter2', oAuth2Data: { access_token: 'sometoken', state: 'abcde' } }
+ )
+ );
+});
+
+afterAll(() => {
+ nock.enableNetConnect();
+});
+
+afterEach(() => {
+ jest.resetAllMocks();
+ jest.clearAllMocks();
+ jest.restoreAllMocks();
+ cleanup();
+});
+
+const sampleCsv = new File([''], 'sample.csv', { type: 'text/csv' });
+
+// TODO - form values is not correctly updated even if individual form items correctly
+// register a change event.
+test.skip("creates an import submission correctly", async () => {
+ nock(constants.IMPORT_DOMAIN_URI)
+ .post("/$import", () => {
+ return true
+ })
+ .reply(200, [])
+ .persist();
+
+ const successNoticeMock = jest
+ .spyOn(notifications, 'sendSuccessNotification')
+ .mockImplementation(() => undefined);
+
+ const errorNoticeMock = jest
+ .spyOn(notifications, 'sendErrorNotification')
+ .mockImplementation(() => undefined);
+
+ render(
+
+
+
+ )
+
+ const usersField = screen.getByLabelText('Users');
+ userEvent.upload(usersField, sampleCsv);
+ const locationsField = screen.getByLabelText('Locations');
+ userEvent.upload(locationsField, sampleCsv);
+ const organizationsField = screen.getByLabelText('Organizations');
+ userEvent.upload(organizationsField, sampleCsv);
+ const careTeamsField = screen.getByLabelText('CareTeams');
+ userEvent.upload(careTeamsField, sampleCsv);
+ const orgLocationAssignmentField = screen.getByLabelText('Organization location assignment');
+ userEvent.upload(orgLocationAssignmentField, sampleCsv);
+ const userOrgAssignmentField = screen.getByLabelText('User organization assignment');
+ userEvent.upload(userOrgAssignmentField, sampleCsv);
+ const inventoryField = screen.getByLabelText('Inventory');
+ userEvent.upload(inventoryField, sampleCsv);
+ const productsField = screen.getByLabelText('Products');
+ userEvent.upload(productsField, sampleCsv);
+
+ fireEvent.click(screen.getByRole('button', { name: /save/i }));
+
+ await waitFor(() => {
+ expect(errorNoticeMock).not.toHaveBeenCalled();
+ expect(successNoticeMock.mock.calls).toEqual([['Commodity updated successfully']]);
+ });
+
+ expect(nock.isDone()).toBeTruthy();
+})
+
diff --git a/packages/fhir-import/src/containers/StartImportView/tests/formInstruction.test.tsx b/packages/fhir-import/src/containers/StartImportView/tests/formInstruction.test.tsx
new file mode 100644
index 000000000..8291affba
--- /dev/null
+++ b/packages/fhir-import/src/containers/StartImportView/tests/formInstruction.test.tsx
@@ -0,0 +1,87 @@
+import React from 'react';
+import { authenticateUser } from '@onaio/session-reducer';
+import { ImporterFormInstructions } from '../formInstructions';
+import nock from 'nock';
+import { render, cleanup, screen, fireEvent, waitFor } from '@testing-library/react';
+import { store } from '@opensrp/store';
+import * as constants from '../../../constants';
+import * as reactUtils from '@opensrp/react-utils'
+
+// eslint-disable-next-line @typescript-eslint/no-var-requires
+const fetch = require('node-fetch');
+global.fetch = fetch;
+
+jest.mock('../../../constants', () => {
+ return {
+ __esModule: true,
+ ...Object.assign({}, jest.requireActual('../../../constants')),
+ IMPORT_DOMAIN_URI: 'http://localhost',
+ };
+});
+
+jest.mock('@opensrp/notifications', () => ({
+ __esModule: true,
+ ...Object.assign({}, jest.requireActual('@opensrp/notifications')),
+}));
+
+
+jest.mock('@opensrp/react-utils', () => ({
+ __esModule: true,
+ ...Object.assign({}, jest.requireActual('@opensrp/react-utils')),
+}));
+
+beforeAll(() => {
+ nock.disableNetConnect();
+ store.dispatch(
+ authenticateUser(
+ true,
+ {
+ email: 'bob@example.com',
+ name: 'Bobbie',
+ username: 'RobertBaratheon',
+ },
+ // eslint-disable-next-line @typescript-eslint/naming-convention
+ { api_token: 'hunter2', oAuth2Data: { access_token: 'sometoken', state: 'abcde' } }
+ )
+ );
+});
+
+afterAll(() => {
+ nock.enableNetConnect();
+});
+
+afterEach(() => {
+ jest.resetAllMocks();
+ jest.clearAllMocks();
+ jest.restoreAllMocks();
+ cleanup();
+});
+
+const templateZipped = new File([''], 'templates.zip', { type: 'application/zip' });
+
+test('renders correctly', async () => {
+ nock(constants.IMPORT_DOMAIN_URI).get('/$import/templates').reply(200, templateZipped, {
+ "content-type": "application/zip"
+ }).persist();
+
+ const downloadFileSpy = jest.spyOn(reactUtils, "downloadFile").mockImplementation(() => { })
+
+ render(
+
+ );
+
+ const formInstruction = screen.getByTestId('form-instructions');
+ expect(formInstruction.textContent).toMatchSnapshot("textContent");
+
+ // template download
+ const downloadTemplateBtn = screen.getByRole('button', {
+ name: /Download Template/i,
+ });
+ fireEvent.click(downloadTemplateBtn);
+
+ await waitFor(() => {
+ expect(downloadFileSpy.mock.calls[0][1]).toEqual("import-template")
+ });
+
+ expect(nock.isDone()).toBeTruthy();
+});
diff --git a/packages/fhir-import/src/containers/StartImportView/tests/index.test.tsx b/packages/fhir-import/src/containers/StartImportView/tests/index.test.tsx
new file mode 100644
index 000000000..7ff74d6a5
--- /dev/null
+++ b/packages/fhir-import/src/containers/StartImportView/tests/index.test.tsx
@@ -0,0 +1,45 @@
+import React from 'react';
+import { StartDataImport } from '..';
+import nock from 'nock';
+import { render, cleanup, screen } from '@testing-library/react';
+import * as reactQuery from 'react-query';
+
+
+const { QueryClient, QueryClientProvider } = reactQuery;
+
+const queryClient = new QueryClient({
+ defaultOptions: {
+ queries: {
+ retry: false,
+ cacheTime: 0,
+ },
+ },
+});
+
+beforeAll(() => {
+ nock.disableNetConnect();
+});
+
+afterAll(() => {
+ nock.enableNetConnect();
+});
+
+afterEach(() => {
+ jest.resetAllMocks();
+ jest.clearAllMocks();
+ jest.restoreAllMocks();
+ cleanup();
+});
+
+test("renders correctly", async () => {
+
+ render(
+
+
+ )
+ const formInstruction = screen.getByTestId('form-instructions');
+ expect(formInstruction.textContent).toMatchSnapshot("textContent");
+
+
+})
+
diff --git a/packages/fhir-import/src/index.tsx b/packages/fhir-import/src/index.tsx
index b5f8a0c0a..9aae78a47 100644
--- a/packages/fhir-import/src/index.tsx
+++ b/packages/fhir-import/src/index.tsx
@@ -1,5 +1,5 @@
export * from "./containers/ImportListView";
export * from "./constants";
export * from "./containers/StartImportView"
-export * from "./containers/ImportDetailOverView"
+export * from "./containers/ImportDetailView"
|