diff --git a/ui/pages/onboarding-flow/import-srp/import-srp.test.js b/ui/pages/onboarding-flow/import-srp/import-srp.test.js
new file mode 100644
index 000000000000..ef88f715eab3
--- /dev/null
+++ b/ui/pages/onboarding-flow/import-srp/import-srp.test.js
@@ -0,0 +1,83 @@
+import { fireEvent } from '@testing-library/react';
+import React from 'react';
+import configureMockStore from 'redux-mock-store';
+import initializedMockState from '../../../../test/data/mock-state.json';
+import { ONBOARDING_CREATE_PASSWORD_ROUTE } from '../../../helpers/constants/routes';
+import { renderWithProvider } from '../../../../test/lib/render-helpers';
+import ImportSrp from './import-srp';
+
+const mockHistoryReplace = jest.fn();
+
+jest.mock('react-router-dom', () => ({
+ ...jest.requireActual('react-router-dom'),
+ useHistory: () => ({
+ replace: mockHistoryReplace,
+ }),
+}));
+
+const TEST_SEED =
+ 'debris dizzy just program just float decrease vacant alarm reduce speak stadium';
+
+describe('Import SRP', () => {
+ const mockState = {
+ metamask: {
+ identities: {},
+ selectedAddress: '',
+ },
+ };
+
+ afterEach(() => {
+ jest.clearAllMocks();
+ });
+
+ it('should route to create password route when keyring is already initialized', () => {
+ const mockStore = configureMockStore()(initializedMockState);
+ renderWithProvider(, mockStore);
+
+ expect(mockHistoryReplace).toHaveBeenCalledWith(
+ ONBOARDING_CREATE_PASSWORD_ROUTE,
+ );
+ });
+
+ it('should render import srp and disable confirm srp button', () => {
+ const mockStore = configureMockStore()(mockState);
+ const { queryByTestId } = renderWithProvider(, mockStore);
+
+ const importSrpTestId = queryByTestId('import-srp');
+ expect(importSrpTestId).toBeInTheDocument();
+
+ const confirmSrpButton = queryByTestId('import-srp-confirm');
+
+ expect(confirmSrpButton).toBeDisabled();
+ });
+
+ it('should input and submit srp', () => {
+ const mockStore = configureMockStore()(mockState);
+ const mockSubmitSecretRecoveryPhrase = jest.fn();
+
+ const { queryByTestId } = renderWithProvider(
+ ,
+ mockStore,
+ );
+
+ inputSRP(TEST_SEED, queryByTestId);
+
+ const confirmSrpButton = queryByTestId('import-srp-confirm');
+
+ expect(confirmSrpButton).not.toBeDisabled();
+
+ fireEvent.click(confirmSrpButton);
+
+ expect(mockSubmitSecretRecoveryPhrase).toHaveBeenCalledWith(TEST_SEED);
+ expect(mockHistoryReplace).toHaveBeenCalledWith(
+ ONBOARDING_CREATE_PASSWORD_ROUTE,
+ );
+ });
+
+ function inputSRP(seedStr, queryByTestId) {
+ for (const [index, word] of seedStr.split(' ').entries()) {
+ const srpInput = queryByTestId(`import-srp__srp-word-${index}`);
+ fireEvent.change(srpInput, { target: { value: word } });
+ }
+ }
+});