diff --git a/src/__tests__/Connect-test.tsx b/src/__tests__/Connect-test.tsx
deleted file mode 100644
index d598887759..0000000000
--- a/src/__tests__/Connect-test.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import React from 'react'
-import { describe, it, expect, vi } from 'vitest'
-import { screen } from '@testing-library/react'
-
-import { Connect } from '../Connect'
-import { render } from 'src/utilities/testingLibrary'
-import { apiValue as apiValueMock } from 'src/const/apiProviderMock'
-import { masterData, institutionData } from 'src/services/mockedData'
-
-describe('Connect - Demo Connect Guard', () => {
- const defaultProps = {
- clientConfig: { current_institution_guid: 'INS-123' } as ClientConfigType,
- onShowConnectSuccessSurvey: () => undefined,
- onSubmitConnectSuccessSurvey: () => {},
- profiles: { ...masterData, loading: false },
- }
-
- const nonDemoInstitution = { ...institutionData.institution, is_demo: false }
- const demoInstitution = { ...institutionData.institution, is_demo: true }
- const demoUser = { ...masterData.user, is_demo: true }
- const regularUser = { ...masterData.user, is_demo: false }
-
- it('blocks demo user from accessing non-demo institution', async () => {
- const mockApiValue = {
- ...apiValueMock,
- loadInstitutionByGuid: vi.fn().mockResolvedValue(nonDemoInstitution),
- loadMembers: vi.fn().mockResolvedValue([]),
- }
-
- render(
- ,
- { apiValue: mockApiValue },
- )
-
- expect(await screen.findByText(/Demo mode active/i)).toBeInTheDocument()
- })
-
- it('allows demo user to access demo institution', async () => {
- const mockApiValue = {
- ...apiValueMock,
- loadInstitutionByGuid: vi.fn().mockResolvedValue(demoInstitution),
- loadMembers: vi.fn().mockResolvedValue([]),
- }
-
- render(
- ,
- { apiValue: mockApiValue },
- )
-
- expect(await screen.findByText(/Log in at Test Bank/i)).toBeInTheDocument()
- expect(screen.queryByText(/Demo mode active/i)).not.toBeInTheDocument()
- })
-
- it('allows regular user to access non-demo institution', async () => {
- const mockApiValue = {
- ...apiValueMock,
- loadInstitutionByGuid: vi.fn().mockResolvedValue(nonDemoInstitution),
- loadMembers: vi.fn().mockResolvedValue([]),
- }
-
- render(
- ,
- { apiValue: mockApiValue },
- )
-
- expect(await screen.findByText(/Log in at Test Bank/i)).toBeInTheDocument()
- expect(screen.queryByText(/Demo mode active/i)).not.toBeInTheDocument()
- })
-})
diff --git a/src/hooks/useLoadConnect.tsx b/src/hooks/useLoadConnect.tsx
index f21cc302ee..8bbd416c60 100644
--- a/src/hooks/useLoadConnect.tsx
+++ b/src/hooks/useLoadConnect.tsx
@@ -8,14 +8,14 @@ import _isEmpty from 'lodash/isEmpty'
import {
loadConnect as loadConnectStart,
- loadConnectSuccessWithProfile,
+ loadConnectSuccess,
loadConnectError,
} from 'src/redux/actions/Connect'
import { COMBO_JOB_DATA_TYPES } from 'src/const/comboJobDataTypes'
import { VERIFY_MODE } from 'src/const/Connect'
import { useApi, ApiContextTypes } from 'src/context/ApiContext'
import { __ } from 'src/utilities/Intl'
-import type { RootState, AppDispatch } from 'src/redux/Store'
+import type { RootState } from 'src/redux/Store'
import { instutionSupportRequestedProducts } from 'src/utilities/Institution'
import { getExperimentalFeatures } from 'src/redux/reducers/experimentalFeaturesSlice'
@@ -53,7 +53,7 @@ const useLoadConnect = () => {
return document.querySelector('html')?.getAttribute('lang') || 'en'
}, [document.querySelector('html')?.getAttribute('lang')])
const [config, setConfig] = useState({} as ClientConfigType)
- const dispatch = useDispatch()
+ const dispatch = useDispatch()
const loadConnect = useCallback((config: ClientConfigType) => setConfig(config), [config])
@@ -78,7 +78,7 @@ const useLoadConnect = () => {
if (clientSupportRequestedProducts(config, profiles.clientProfile)) {
return from(api.loadMembers(clientLocale)).pipe(
map((members = []) =>
- loadConnectSuccessWithProfile({
+ loadConnectSuccess({
experimentalFeatures,
members,
widgetProfile: profiles.widgetProfile,
diff --git a/src/redux/actions/Connect.js b/src/redux/actions/Connect.js
index 8b365df66b..4ee4dfbbfe 100644
--- a/src/redux/actions/Connect.js
+++ b/src/redux/actions/Connect.js
@@ -58,18 +58,6 @@ export const loadConnectSuccess = (dependencies = {}) => ({
type: ActionTypes.LOAD_CONNECT_SUCCESS,
payload: dependencies,
})
-export const loadConnectSuccessWithProfile =
- (dependencies = {}) =>
- (dispatch, getState) => {
- const { profiles } = getState()
-
- dispatch(
- loadConnectSuccess({
- ...dependencies,
- user: profiles.user,
- }),
- )
- }
export const loadConnectError = (err) => ({
type: ActionTypes.LOAD_CONNECT_ERROR,
diff --git a/src/redux/reducers/Connect.js b/src/redux/reducers/Connect.js
index 1674c91268..5844271c30 100644
--- a/src/redux/reducers/Connect.js
+++ b/src/redux/reducers/Connect.js
@@ -65,7 +65,6 @@ const loadConnectSuccess = (state, action) => {
institution = {},
experimentalFeatures = {},
widgetProfile,
- user = {},
} = action.payload
return {
@@ -84,7 +83,6 @@ const loadConnectSuccess = (state, action) => {
institution,
widgetProfile,
experimentalFeatures,
- user,
),
),
selectedInstitution: institution,
@@ -550,7 +548,6 @@ function getStartingStep(
institution,
widgetProfile,
experimentalFeatures = {},
- user = {},
) {
// Unavailable institutions experimental feature: Make sure we don't load a user
// directly to an institution that should be unavailable.
@@ -577,18 +574,9 @@ function getStartingStep(
(institution && institutionIsBlockedForCostReasons(institution)) ||
(member && memberIsBlockedForCostReasons(member)) ||
!institutionIsAvailable
- const shouldStepToDemoConnectGuard =
- user?.is_demo &&
- institution &&
- !institution?.is_demo &&
- (config.current_institution_guid ||
- config.current_institution_code ||
- config.current_member_guid)
if (shouldStepToInstitutionStatusDetails) {
return STEPS.INSTITUTION_STATUS_DETAILS
- } else if (shouldStepToDemoConnectGuard) {
- return STEPS.DEMO_CONNECT_GUARD
} else if (shouldStepToMFA)
// They configured connect to resolve MFA on a member.
return STEPS.MFA
diff --git a/src/redux/reducers/__tests__/Connect-test.js b/src/redux/reducers/__tests__/Connect-test.js
index e3c41c28de..3751806e11 100644
--- a/src/redux/reducers/__tests__/Connect-test.js
+++ b/src/redux/reducers/__tests__/Connect-test.js
@@ -389,85 +389,6 @@ describe('Connect redux store', () => {
STEPS.ENTER_CREDENTIALS,
)
})
-
- it('should set the step to DEMO_CONNECT_GUARD when launching with current_institution_guid and user is demo but institution is not', () => {
- const institution = { guid: 'INS-1', is_demo: false, credentials }
- const user = { guid: 'USR-1', is_demo: true }
- const config = { current_institution_guid: 'INS-1' }
- const afterState = reducer(
- defaultState,
- loadConnectSuccess({ institution, config, widgetProfile, user }),
- )
-
- expect(afterState.location[afterState.location.length - 1].step).toEqual(
- STEPS.DEMO_CONNECT_GUARD,
- )
- })
-
- it('should set the step to DEMO_CONNECT_GUARD when launching with current_institution_code and user is demo but institution is not', () => {
- const institution = { guid: 'INS-1', code: 'bank_code', is_demo: false, credentials }
- const user = { guid: 'USR-1', is_demo: true }
- const config = { current_institution_code: 'bank_code' }
- const afterState = reducer(
- defaultState,
- loadConnectSuccess({ institution, config, widgetProfile, user }),
- )
-
- expect(afterState.location[afterState.location.length - 1].step).toEqual(
- STEPS.DEMO_CONNECT_GUARD,
- )
- })
-
- it('should set the step to DEMO_CONNECT_GUARD when launching with current_member_guid and user is demo but institution is not', () => {
- const institution = { guid: 'INS-1', is_demo: false, credentials }
- const user = { guid: 'USR-1', is_demo: true }
- const member = genMember({ guid: 'MBR-1', connection_status: ReadableStatuses.CONNECTED })
- const config = { current_member_guid: 'MBR-1' }
- const afterState = reducer(
- defaultState,
- loadConnectSuccess({ member, institution, config, widgetProfile, user }),
- )
-
- expect(afterState.location[afterState.location.length - 1].step).toEqual(
- STEPS.DEMO_CONNECT_GUARD,
- )
- })
-
- it('should NOT set the step to DEMO_CONNECT_GUARD when launching with current_institution_guid but user is not demo', () => {
- const institution = { guid: 'INS-1', is_demo: false, credentials }
- const user = { guid: 'USR-1', is_demo: false }
- const config = { current_institution_guid: 'INS-1' }
- const afterState = reducer(
- defaultState,
- loadConnectSuccess({ institution, config, widgetProfile, user }),
- )
-
- expect(afterState.location[afterState.location.length - 1].step).toEqual(
- STEPS.ENTER_CREDENTIALS,
- )
- })
-
- it('should NOT set the step to DEMO_CONNECT_GUARD when launching with current_institution_guid and both user and institution are demo', () => {
- const institution = { guid: 'INS-1', is_demo: true, credentials }
- const user = { guid: 'USR-1', is_demo: true }
- const config = { current_institution_guid: 'INS-1' }
- const afterState = reducer(
- defaultState,
- loadConnectSuccess({ institution, config, widgetProfile, user }),
- )
-
- expect(afterState.location[afterState.location.length - 1].step).toEqual(
- STEPS.ENTER_CREDENTIALS,
- )
- })
-
- it('should NOT set the step to DEMO_CONNECT_GUARD when user is demo but no institution parameters are provided', () => {
- const user = { guid: 'USR-1', is_demo: true }
- const config = {}
- const afterState = reducer(defaultState, loadConnectSuccess({ config, widgetProfile, user }))
-
- expect(afterState.location[afterState.location.length - 1].step).toEqual(STEPS.SEARCH)
- })
})
describe('loadConnectError', () => {
@@ -534,7 +455,10 @@ describe('Connect redux store', () => {
const config = { mode: VERIFY_MODE }
const afterState = reducer(
{ ...defaultState, isComponentLoading: true },
- loadConnectSuccess({ config, members: [], widgetProfile }),
+ {
+ type: ActionTypes.LOAD_CONNECT_SUCCESS,
+ payload: { config, members: [], widgetProfile },
+ },
)
expect(afterState.location[afterState.location.length - 1].step).toEqual(STEPS.SEARCH)
})
@@ -549,7 +473,10 @@ describe('Connect redux store', () => {
const members = [member]
const afterState = reducer(
{ ...defaultState, isComponentLoading: true },
- loadConnectSuccess({ config, member, members, widgetProfile }),
+ {
+ type: ActionTypes.LOAD_CONNECT_SUCCESS,
+ payload: { config, member, members, widgetProfile },
+ },
)
expect(afterState.location[afterState.location.length - 1].step).toEqual(
STEPS.ACTIONABLE_ERROR,
@@ -573,7 +500,10 @@ describe('Connect redux store', () => {
const members = [member]
const afterState = reducer(
{ ...defaultState, isComponentLoading: true },
- loadConnectSuccess({ config, member, members, widgetProfile }),
+ {
+ type: ActionTypes.LOAD_CONNECT_SUCCESS,
+ payload: { config, member, members, widgetProfile },
+ },
)
expect(afterState.location[afterState.location.length - 1].step).toEqual(
STEPS.ACTIONABLE_ERROR,
@@ -597,7 +527,10 @@ describe('Connect redux store', () => {
const members = [member]
const afterState = reducer(
{ ...defaultState, isComponentLoading: true },
- loadConnectSuccess({ config, member, members, widgetProfile }),
+ {
+ type: ActionTypes.LOAD_CONNECT_SUCCESS,
+ payload: { config, member, members, widgetProfile },
+ },
)
expect(afterState.location[afterState.location.length - 1].step).toEqual(
STEPS.ENTER_CREDENTIALS,
@@ -621,7 +554,10 @@ describe('Connect redux store', () => {
const members = [member]
const afterState = reducer(
{ ...defaultState, isComponentLoading: true },
- loadConnectSuccess({ config, member, members, widgetProfile }),
+ {
+ type: ActionTypes.LOAD_CONNECT_SUCCESS,
+ payload: { config, member, members, widgetProfile },
+ },
)
expect(afterState.location[afterState.location.length - 1].step).toEqual(STEPS.MFA)
})
@@ -642,7 +578,10 @@ describe('Connect redux store', () => {
const members = [member]
const afterState = reducer(
{ ...defaultState, isComponentLoading: true },
- loadConnectSuccess({ config, member, members, accounts: [], widgetProfile }),
+ {
+ type: ActionTypes.LOAD_CONNECT_SUCCESS,
+ payload: { config, member, members, accounts: [], widgetProfile },
+ },
)
expect(afterState.location[afterState.location.length - 1].step).toEqual(
STEPS.ACTIONABLE_ERROR,