From 4c48056013e70d59c84050b217e0084a146c93f3 Mon Sep 17 00:00:00 2001 From: William Grant Date: Wed, 3 Apr 2024 12:08:24 +1100 Subject: [PATCH] fix: moved resetRegistration out of utils to make unit testing easier --- ts/components/registration/RegistrationStages.tsx | 11 +++++++++++ ts/components/registration/stages/CreateAccount.tsx | 3 ++- ts/components/registration/stages/RestoreAccount.tsx | 3 ++- ts/components/registration/stages/Start.tsx | 2 +- ts/components/registration/utils/index.tsx | 12 ------------ 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/ts/components/registration/RegistrationStages.tsx b/ts/components/registration/RegistrationStages.tsx index cfde41466..8223ff68b 100644 --- a/ts/components/registration/RegistrationStages.tsx +++ b/ts/components/registration/RegistrationStages.tsx @@ -1,6 +1,8 @@ import { shell } from 'electron'; +import { Data } from 'emoji-mart'; import { AnimatePresence } from 'framer-motion'; import styled from 'styled-components'; +import { getConversationController } from '../../session/conversations'; import { AccountCreation, AccountRestoration, @@ -11,12 +13,21 @@ import { useOnboardAccountRestorationStep, useOnboardStep, } from '../../state/onboarding/selectors/registration'; +import { Storage } from '../../util/storage'; import { Flex } from '../basic/Flex'; import { SpacerLG, SpacerSM } from '../basic/Text'; import { SessionIcon, SessionIconButton } from '../icon'; import { OnboardContainer } from './components'; import { CreateAccount, RestoreAccount, Start } from './stages'; +export async function resetRegistration() { + await Data.removeAll(); + Storage.reset(); + await Storage.fetch(); + getConversationController().reset(); + await getConversationController().load(); +} + const StyledRegistrationContainer = styled(Flex)` width: 348px; .session-button { diff --git a/ts/components/registration/stages/CreateAccount.tsx b/ts/components/registration/stages/CreateAccount.tsx index cb720218f..d6c696c7b 100644 --- a/ts/components/registration/stages/CreateAccount.tsx +++ b/ts/components/registration/stages/CreateAccount.tsx @@ -28,9 +28,10 @@ import { Flex } from '../../basic/Flex'; import { SessionButton, SessionButtonColor } from '../../basic/SessionButton'; import { SpacerLG, SpacerSM } from '../../basic/Text'; import { SessionInput } from '../../inputs'; +import { resetRegistration } from '../RegistrationStages'; import { OnboardDescription, OnboardHeading } from '../components'; import { BackButtonWithininContainer } from '../components/BackButton'; -import { displayNameIsValid, resetRegistration, sanitizeDisplayNameOrToast } from '../utils'; +import { displayNameIsValid, sanitizeDisplayNameOrToast } from '../utils'; export type AccountDetails = { recoveryPassword: string; diff --git a/ts/components/registration/stages/RestoreAccount.tsx b/ts/components/registration/stages/RestoreAccount.tsx index 327637351..b21de62a7 100644 --- a/ts/components/registration/stages/RestoreAccount.tsx +++ b/ts/components/registration/stages/RestoreAccount.tsx @@ -37,10 +37,11 @@ import { SpacerLG, SpacerSM } from '../../basic/Text'; import { SessionIcon } from '../../icon'; import { SessionInput } from '../../inputs'; import { SessionProgressBar } from '../../loading'; +import { resetRegistration } from '../RegistrationStages'; import { OnboardDescription, OnboardHeading } from '../components'; import { BackButtonWithininContainer } from '../components/BackButton'; import { useRecoveryProgressEffect } from '../hooks'; -import { displayNameIsValid, resetRegistration, sanitizeDisplayNameOrToast } from '../utils'; +import { displayNameIsValid, sanitizeDisplayNameOrToast } from '../utils'; import { AccountDetails } from './CreateAccount'; type AccountRestoreDetails = AccountDetails & { dispatch: Dispatch; abortSignal?: AbortSignal }; diff --git a/ts/components/registration/stages/Start.tsx b/ts/components/registration/stages/Start.tsx index 761cd5b51..b42c206e4 100644 --- a/ts/components/registration/stages/Start.tsx +++ b/ts/components/registration/stages/Start.tsx @@ -12,8 +12,8 @@ import { } from '../../../state/onboarding/ducks/registration'; import { SessionButton, SessionButtonColor } from '../../basic/SessionButton'; import { SpacerLG } from '../../basic/Text'; +import { resetRegistration } from '../RegistrationStages'; import { TermsAndConditions } from '../TermsAndConditions'; -import { resetRegistration } from '../utils'; export const Start = () => { const dispatch = useDispatch(); diff --git a/ts/components/registration/utils/index.tsx b/ts/components/registration/utils/index.tsx index 8d92a9379..49ad75e57 100644 --- a/ts/components/registration/utils/index.tsx +++ b/ts/components/registration/utils/index.tsx @@ -1,17 +1,5 @@ import { AnyAction, Dispatch } from '@reduxjs/toolkit'; -import { Data } from '../../../data/data'; -import { getConversationController } from '../../../session/conversations'; import { sanitizeSessionUsername } from '../../../session/utils/String'; -import { Storage } from '../../../util/storage'; - -export async function resetRegistration() { - await Data.removeAll(); - Storage.reset(); - await Storage.fetch(); - getConversationController().reset(); - await getConversationController().load(); - // TODO[epic=ses-899] onboarding reset here? -} export function sanitizeDisplayNameOrToast( displayName: string,