diff --git a/__snapshots__/features/identityCheck/pages/profile/SetAddress.web.test.tsx.web-snap b/__snapshots__/features/identityCheck/pages/profile/SetAddress.web.test.tsx.web-snap
index fab8000a348..49ada6533c3 100644
--- a/__snapshots__/features/identityCheck/pages/profile/SetAddress.web.test.tsx.web-snap
+++ b/__snapshots__/features/identityCheck/pages/profile/SetAddress.web.test.tsx.web-snap
@@ -239,7 +239,7 @@ exports[` should render correctly 1`] = `
class="css-text-1rynq56 r-color-1rmcaf9 r-fontFamily-g6644c r-fontSize-cygvgh r-lineHeight-u6qrkm"
dir="ltr"
>
- Entre ton adresse
+ Recherche et sélectionne ton adresse
diff --git a/src/App.tsx b/src/App.tsx
index ff8c4f2e62c..e9cdbdb580e 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -15,7 +15,6 @@ if (process.env.NODE_ENV === 'development') {
import { AccessibilityFiltersWrapper } from 'features/accessibility/context/AccessibilityFiltersWrapper'
import { AuthWrapper } from 'features/auth/context/AuthWrapper'
-import { SettingsWrapper } from 'features/auth/context/SettingsContext'
import { CulturalSurveyContextProvider } from 'features/culturalSurvey/context/CulturalSurveyContextProvider'
import { AsyncErrorBoundaryWithoutNavigation } from 'features/errors/pages/AsyncErrorBoundary'
import { ScreenErrorProvider } from 'features/errors/pages/ScreenErrorProvider'
@@ -91,39 +90,37 @@ const App: FunctionComponent = function () {
{/* All react-query calls should be nested inside NetInfoWrapper to ensure the user has internet connection */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/App.web.tsx b/src/App.web.tsx
index 6f9bd7222c4..64de158ce5b 100644
--- a/src/App.web.tsx
+++ b/src/App.web.tsx
@@ -9,7 +9,6 @@ import { ErrorBoundary } from 'react-error-boundary'
import { AccessibilityFiltersWrapper } from 'features/accessibility/context/AccessibilityFiltersWrapper'
import { AuthWrapper } from 'features/auth/context/AuthWrapper'
-import { SettingsWrapper } from 'features/auth/context/SettingsContext'
import { CulturalSurveyContextProvider } from 'features/culturalSurvey/context/CulturalSurveyContextProvider'
import { AsyncErrorBoundaryWithoutNavigation } from 'features/errors/pages/AsyncErrorBoundary'
import { ScreenErrorProvider } from 'features/errors/pages/ScreenErrorProvider'
@@ -62,38 +61,36 @@ export function App() {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/features/auth/context/SettingsContext.tsx b/src/features/auth/context/SettingsContext.tsx
deleted file mode 100644
index 5216e031d7b..00000000000
--- a/src/features/auth/context/SettingsContext.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import React, { memo, useContext, useMemo } from 'react'
-import { useQuery, UseQueryResult } from 'react-query'
-
-import { api } from 'api/api'
-import { SettingsResponse } from 'api/gen'
-import { useNetInfoContext } from 'libs/network/NetInfoWrapper'
-import { QueryKeys } from 'libs/queryKeys'
-
-export interface ISettingsContext {
- data: UseQueryResult['data']
- isLoading: UseQueryResult['isLoading']
-}
-
-const SettingsContext = React.createContext({
- data: undefined,
- isLoading: false,
-})
-
-export function useSettingsContext(): ISettingsContext {
- return useContext(SettingsContext)
-}
-
-export const SettingsWrapper = memo(function SettingsWrapper({
- children,
-}: {
- children: React.JSX.Element
-}) {
- const { data, isLoading } = useAppSettings()
-
- const value = useMemo(() => ({ data, isLoading }), [data, isLoading])
-
- return {children}
-})
-
-// arbitrary. Should not change that often though
-const STALE_TIME_APP_SETTINGS = 5 * 60 * 1000
-
-function useAppSettings() {
- const netInfo = useNetInfoContext()
- return useQuery([QueryKeys.SETTINGS], () => api.getNativeV1Settings(), {
- enabled: !!netInfo.isConnected && !!netInfo.isInternetReachable,
- staleTime: STALE_TIME_APP_SETTINGS,
- })
-}
diff --git a/src/features/auth/context/__mocks__/SettingsContext.tsx b/src/features/auth/context/__mocks__/SettingsContext.tsx
deleted file mode 100644
index 018f8cc5b2c..00000000000
--- a/src/features/auth/context/__mocks__/SettingsContext.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { defaultSettings } from 'features/auth/fixtures/fixtures'
-
-import { useSettingsContext as actualUseSettingsContext } from '../SettingsContext'
-
-export const useSettingsContext = jest.fn().mockReturnValue({
- data: defaultSettings,
- isLoading: false,
-}) as jest.MockedFunction
diff --git a/src/features/auth/context/__mocks__/useSettings.ts b/src/features/auth/context/__mocks__/useSettings.ts
new file mode 100644
index 00000000000..885e7bfcb6a
--- /dev/null
+++ b/src/features/auth/context/__mocks__/useSettings.ts
@@ -0,0 +1,6 @@
+import { defaultSettings } from 'features/auth/fixtures/fixtures'
+
+export const useSettings = jest.fn().mockReturnValue({
+ data: defaultSettings,
+ isLoading: false,
+})
diff --git a/src/features/auth/context/useSettings.ts b/src/features/auth/context/useSettings.ts
new file mode 100644
index 00000000000..e9ce98112af
--- /dev/null
+++ b/src/features/auth/context/useSettings.ts
@@ -0,0 +1,20 @@
+import { useQuery } from 'react-query'
+
+import { api } from 'api/api'
+import { SettingsResponse } from 'api/gen'
+import { QueryKeys } from 'libs/queryKeys'
+
+// arbitrary. Should not change that often though
+const STALE_TIME_APP_SETTINGS = 5 * 60 * 1000
+
+export const useSettings = () => {
+ const { data, isLoading } = useQuery(
+ [QueryKeys.SETTINGS],
+ () => api.getNativeV1Settings(),
+ {
+ staleTime: STALE_TIME_APP_SETTINGS,
+ }
+ )
+
+ return { data, isLoading }
+}
diff --git a/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.native.test.tsx b/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.native.test.tsx
index de15850ebce..68a90320309 100644
--- a/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.native.test.tsx
+++ b/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.native.test.tsx
@@ -1,12 +1,12 @@
import React from 'react'
import { navigate, replace } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { captureMonitoringError } from 'libs/monitoring/errors'
import { eventMonitoring } from 'libs/monitoring/services'
import { useNetInfoContext as useNetInfoContextDefault } from 'libs/network/NetInfoWrapper'
import { NetworkErrorFixture, UnknownErrorFixture } from 'libs/recaptcha/fixtures'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, fireEvent, render, screen, simulateWebviewMessage, waitFor } from 'tests/utils'
@@ -38,7 +38,7 @@ jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => {
describe('', () => {
beforeEach(() => {
- setSettings()
+ mockSettings()
})
it('should match snapshot', () => {
diff --git a/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.tsx b/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.tsx
index c237b0bcd59..69bf6744000 100644
--- a/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.tsx
+++ b/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.tsx
@@ -7,7 +7,7 @@ import { api } from 'api/api'
import { ApiError } from 'api/ApiError'
import { isAPIExceptionCapturedAsInfo } from 'api/apiHelpers'
import { SettingsResponse } from 'api/gen'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { StepperOrigin, UseNavigationType } from 'features/navigation/RootNavigator/types'
import { captureMonitoringError } from 'libs/monitoring/errors'
import { useNetInfoContext } from 'libs/network/NetInfoWrapper'
@@ -31,7 +31,7 @@ type FormValues = {
}
export const ForgottenPassword = () => {
- const { data: settings, isLoading: areSettingsLoading } = useSettingsContext()
+ const { data: settings, isLoading: areSettingsLoading } = useSettings()
const {
control,
diff --git a/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.web.test.tsx b/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.web.test.tsx
index b9d416865f9..3804a452d12 100644
--- a/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.web.test.tsx
+++ b/src/features/auth/pages/forgottenPassword/ForgottenPassword/ForgottenPassword.web.test.tsx
@@ -1,6 +1,7 @@
import React from 'react'
import { SafeAreaProvider } from 'react-native-safe-area-context'
+import { mockSettings } from 'tests/mockSettings'
import { render, checkAccessibilityFor, screen, waitFor } from 'tests/utils/web'
import { ForgottenPassword } from './ForgottenPassword'
@@ -13,6 +14,7 @@ jest.mock('uuid', () => {
v4: jest.fn(() => value++),
}
})
+mockSettings()
describe('', () => {
describe('Accessibility', () => {
diff --git a/src/features/auth/pages/login/Login.native.test.tsx b/src/features/auth/pages/login/Login.native.test.tsx
index 9c124c2f2ed..08747bb6074 100644
--- a/src/features/auth/pages/login/Login.native.test.tsx
+++ b/src/features/auth/pages/login/Login.native.test.tsx
@@ -13,7 +13,6 @@ import {
UserProfileResponse,
} from 'api/gen'
import { AuthContext } from 'features/auth/context/AuthContext'
-import { setSettings } from 'features/auth/tests/setSettings'
import { SignInResponseFailure } from 'features/auth/types'
import { favoriteOfferResponseSnap } from 'features/favorites/fixtures/favoriteOfferResponseSnap'
import { favoriteResponseSnap } from 'features/favorites/fixtures/favoriteResponseSnap'
@@ -30,6 +29,7 @@ import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import * as monitoringErrorsModule from 'libs/monitoring/errors'
import { NetworkErrorFixture, UnknownErrorFixture } from 'libs/recaptcha/fixtures'
import { storage } from 'libs/storage'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, fireEvent, render, screen, simulateWebviewMessage } from 'tests/utils'
@@ -85,6 +85,8 @@ jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => {
}
})
+mockSettings({ isRecaptchaEnabled: false })
+
describe('', () => {
beforeEach(() => {
setFeatureFlags([RemoteStoreFeatureFlags.WIP_ENABLE_GOOGLE_SSO])
@@ -644,7 +646,11 @@ describe('', () => {
describe('Login with ReCatpcha', () => {
beforeAll(() => {
- setSettings()
+ mockSettings({ isRecaptchaEnabled: true })
+ })
+
+ afterAll(() => {
+ mockSettings({ isRecaptchaEnabled: false })
})
it('should not open reCAPTCHA challenge modal before clicking on login button', async () => {
diff --git a/src/features/auth/pages/login/Login.tsx b/src/features/auth/pages/login/Login.tsx
index 3d3efa405d7..c409058b170 100644
--- a/src/features/auth/pages/login/Login.tsx
+++ b/src/features/auth/pages/login/Login.tsx
@@ -8,7 +8,7 @@ import styled from 'styled-components/native'
import { useSignIn } from 'features/auth/api/useSignIn'
import { AuthenticationButton } from 'features/auth/components/AuthenticationButton/AuthenticationButton'
import { SSOButtonBase } from 'features/auth/components/SSOButton/SSOButtonBase'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { loginSchema } from 'features/auth/pages/login/schema/loginSchema'
import { SignInResponseFailure } from 'features/auth/types'
import {
@@ -48,7 +48,7 @@ type Props = {
export const Login: FunctionComponent = memo(function Login(props) {
const enableGoogleSSO = useFeatureFlag(RemoteStoreFeatureFlags.WIP_ENABLE_GOOGLE_SSO)
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const { params } = useRoute>()
const { navigate } = useNavigation()
const { showInfoSnackBar, showErrorSnackBar } = useSnackBarContext()
diff --git a/src/features/auth/pages/signup/AcceptCgu/AcceptCgu.native.test.tsx b/src/features/auth/pages/signup/AcceptCgu/AcceptCgu.native.test.tsx
index 6f568e40223..c49d81e1da3 100644
--- a/src/features/auth/pages/signup/AcceptCgu/AcceptCgu.native.test.tsx
+++ b/src/features/auth/pages/signup/AcceptCgu/AcceptCgu.native.test.tsx
@@ -2,12 +2,12 @@ import React from 'react'
import { Linking } from 'react-native'
import { navigate } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { analytics } from 'libs/analytics/provider'
import { env } from 'libs/environment/env'
import { useNetInfoContext as useNetInfoContextDefault } from 'libs/network/NetInfoWrapper'
import { UnknownErrorFixture } from 'libs/recaptcha/fixtures'
import { mockAuthContextWithoutUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, fireEvent, render, screen, simulateWebviewMessage, waitFor } from 'tests/utils'
@@ -50,7 +50,7 @@ jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => {
describe('', () => {
beforeEach(() => {
- setSettings()
+ mockSettings()
})
it('should render correctly', () => {
diff --git a/src/features/auth/pages/signup/AcceptCgu/AcceptCgu.tsx b/src/features/auth/pages/signup/AcceptCgu/AcceptCgu.tsx
index 69e413f425e..78f210c001d 100644
--- a/src/features/auth/pages/signup/AcceptCgu/AcceptCgu.tsx
+++ b/src/features/auth/pages/signup/AcceptCgu/AcceptCgu.tsx
@@ -5,7 +5,7 @@ import { Text } from 'react-native'
import styled from 'styled-components/native'
import { v4 as uuidv4 } from 'uuid'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { useSignupRecaptcha } from 'features/auth/helpers/useSignupRecaptcha'
import { acceptCGUSchema } from 'features/auth/pages/signup/AcceptCgu/acceptCguSchema'
import { PreValidationSignupLastStepProps } from 'features/auth/types'
@@ -35,7 +35,7 @@ export const AcceptCgu: FunctionComponent = ({
isSSOSubscription,
signUp,
}) => {
- const { data: settings, isLoading: areSettingsLoading } = useSettingsContext()
+ const { data: settings, isLoading: areSettingsLoading } = useSettings()
const networkInfo = useNetInfoContext()
const checkCGUErrorId = uuidv4()
diff --git a/src/features/auth/pages/signup/SetBirthday/SetBirthday.native.test.tsx b/src/features/auth/pages/signup/SetBirthday/SetBirthday.native.test.tsx
index 61ccbba7e06..e5f14fbfe5a 100644
--- a/src/features/auth/pages/signup/SetBirthday/SetBirthday.native.test.tsx
+++ b/src/features/auth/pages/signup/SetBirthday/SetBirthday.native.test.tsx
@@ -7,10 +7,10 @@ import {
DEFAULT_SELECTED_DATE,
ELIGIBLE_AGE_DATE,
} from 'features/auth/fixtures/fixtures'
-import { setSettings } from 'features/auth/tests/setSettings'
import { NonEligible } from 'features/tutorial/enums'
import { formatDateToISOStringWithoutTime } from 'libs/parsers/formatDates'
import { storage } from 'libs/storage'
+import { mockSettings } from 'tests/mockSettings'
import { act, fireEvent, render, screen } from 'tests/utils'
import { SetBirthday } from './SetBirthday'
@@ -49,7 +49,7 @@ describe('', () => {
beforeEach(async () => {
mockdate.set(CURRENT_DATE)
await storage.clear(USER_AGE_KEY)
- setSettings()
+ mockSettings()
})
it('should render correctly', () => {
diff --git a/src/features/auth/pages/signup/SetBirthday/SetBirthday.web.test.tsx b/src/features/auth/pages/signup/SetBirthday/SetBirthday.web.test.tsx
index 4a26cf0b88a..c58a50b5363 100644
--- a/src/features/auth/pages/signup/SetBirthday/SetBirthday.web.test.tsx
+++ b/src/features/auth/pages/signup/SetBirthday/SetBirthday.web.test.tsx
@@ -2,7 +2,7 @@ import mockdate from 'mockdate'
import React from 'react'
import { CURRENT_DATE } from 'features/auth/fixtures/fixtures'
-import { setSettings } from 'features/auth/tests/setSettings'
+import { mockSettings } from 'tests/mockSettings'
import { act, fireEvent, render, screen } from 'tests/utils/web'
import { SetBirthday } from './SetBirthday'
@@ -26,7 +26,7 @@ jest.mock('ui/theme/customFocusOutline/customFocusOutline')
describe('', () => {
beforeEach(() => {
mockdate.set(CURRENT_DATE)
- setSettings()
+ mockSettings()
})
describe('submit button behavior', () => {
diff --git a/src/features/auth/pages/signup/SignupForm.native.test.tsx b/src/features/auth/pages/signup/SignupForm.native.test.tsx
index 08ed3ab44c3..03f47e51f10 100644
--- a/src/features/auth/pages/signup/SignupForm.native.test.tsx
+++ b/src/features/auth/pages/signup/SignupForm.native.test.tsx
@@ -24,6 +24,7 @@ import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { eventMonitoring } from 'libs/monitoring/services'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, fireEvent, render, screen, waitFor } from 'tests/utils'
@@ -33,6 +34,7 @@ import { SignupForm } from './SignupForm'
jest.mock('libs/campaign')
jest.mock('libs/react-native-device-info/getDeviceId')
jest.mock('libs/network/NetInfoWrapper')
+mockSettings({ isRecaptchaEnabled: false })
const getModelSpy = jest.spyOn(DeviceInfo, 'getModel')
const getSystemNameSpy = jest.spyOn(DeviceInfo, 'getSystemName')
diff --git a/src/features/auth/pages/suspendedAccount/AccountStatusScreenHandler/AccountStatusScreenHandler.native.test.tsx b/src/features/auth/pages/suspendedAccount/AccountStatusScreenHandler/AccountStatusScreenHandler.native.test.tsx
index 23bc4ae03ee..cb171eae59a 100644
--- a/src/features/auth/pages/suspendedAccount/AccountStatusScreenHandler/AccountStatusScreenHandler.native.test.tsx
+++ b/src/features/auth/pages/suspendedAccount/AccountStatusScreenHandler/AccountStatusScreenHandler.native.test.tsx
@@ -1,9 +1,9 @@
import React from 'react'
import { AccountState } from 'api/gen'
-import { setSettings } from 'features/auth/tests/setSettings'
import { navigateToHome } from 'features/navigation/helpers/navigateToHome'
import { useCurrentRoute } from 'features/navigation/helpers/useCurrentRoute'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
import { AccountStatusScreenHandler } from './AccountStatusScreenHandler'
@@ -34,7 +34,7 @@ jest.mock('libs/firebase/analytics/analytics')
describe('', () => {
beforeEach(() => {
- setSettings()
+ mockSettings()
})
it('should display SuspendedAccountUponUserRequest component if account is suspended upon user request', () => {
diff --git a/src/features/auth/pages/suspendedAccount/SuspendedAccountUponUserRequest/SuspendedAccountUponUserRequest.tsx b/src/features/auth/pages/suspendedAccount/SuspendedAccountUponUserRequest/SuspendedAccountUponUserRequest.tsx
index 73527f5a19a..be48ac51045 100644
--- a/src/features/auth/pages/suspendedAccount/SuspendedAccountUponUserRequest/SuspendedAccountUponUserRequest.tsx
+++ b/src/features/auth/pages/suspendedAccount/SuspendedAccountUponUserRequest/SuspendedAccountUponUserRequest.tsx
@@ -4,7 +4,7 @@ import styled from 'styled-components/native'
import { useAccountSuspensionDate } from 'features/auth/api/useAccountSuspensionDate'
import { useAccountUnsuspend } from 'features/auth/api/useAccountUnsuspend'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { useLogoutRoutine } from 'features/auth/helpers/useLogoutRoutine'
import { navigateToHomeConfig } from 'features/navigation/helpers/navigateToHome'
import { UseNavigationType } from 'features/navigation/RootNavigator/types'
@@ -26,7 +26,7 @@ const addDaysToDate = (date: Date, days: number) => {
export const SuspendedAccountUponUserRequest = () => {
const { replace } = useNavigation()
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const { data: accountSuspensionDate } = useAccountSuspensionDate()
const signOut = useLogoutRoutine()
const { showErrorSnackBar } = useSnackBarContext()
diff --git a/src/features/auth/pages/suspendedAccount/SuspendedAccountUponUserRequest/SuspendedAccountUponUserRequest.web.test.tsx b/src/features/auth/pages/suspendedAccount/SuspendedAccountUponUserRequest/SuspendedAccountUponUserRequest.web.test.tsx
index dc86ef7c3fe..b59b7edd536 100644
--- a/src/features/auth/pages/suspendedAccount/SuspendedAccountUponUserRequest/SuspendedAccountUponUserRequest.web.test.tsx
+++ b/src/features/auth/pages/suspendedAccount/SuspendedAccountUponUserRequest/SuspendedAccountUponUserRequest.web.test.tsx
@@ -1,6 +1,7 @@
import React from 'react'
import { UserSuspensionDateResponse } from 'api/gen'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { checkAccessibilityFor, render, screen } from 'tests/utils/web'
@@ -11,6 +12,7 @@ jest.mock('libs/jwt/jwt')
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('', () => {
describe('Accessibility', () => {
diff --git a/src/features/birthdayNotifications/pages/EighteenBirthday.web.test.tsx b/src/features/birthdayNotifications/pages/EighteenBirthday.web.test.tsx
index 7ffc1e4259f..ef17ea46a9e 100644
--- a/src/features/birthdayNotifications/pages/EighteenBirthday.web.test.tsx
+++ b/src/features/birthdayNotifications/pages/EighteenBirthday.web.test.tsx
@@ -3,6 +3,7 @@ import React from 'react'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { useDepositAmountsByAge } from 'shared/user/useDepositAmountsByAge'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
import { EighteenBirthday } from './EighteenBirthday'
@@ -13,6 +14,7 @@ mockUseDepositAmountsByAge.mockReturnValue({ eighteenYearsOldDeposit: '300 €'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('', () => {
describe('Accessibility', () => {
diff --git a/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.native.test.tsx b/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.native.test.tsx
index 16586e9b8f5..d4e8d6b3ab4 100644
--- a/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.native.test.tsx
+++ b/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.native.test.tsx
@@ -1,10 +1,10 @@
import mockdate from 'mockdate'
import React from 'react'
-import { setSettings } from 'features/auth/tests/setSettings'
import { underageBeneficiaryUser } from 'fixtures/user'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { mockAuthContextWithUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, screen } from 'tests/utils'
@@ -31,7 +31,7 @@ describe('', () => {
beforeEach(() => {
setFeatureFlags()
- setSettings()
+ mockSettings()
})
it('should have correct credit text', async () => {
@@ -56,7 +56,7 @@ describe('', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should have correct credit information text', async () => {
diff --git a/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.tsx b/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.tsx
index 6fdf0a7db05..b0b3a97e7cf 100644
--- a/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.tsx
+++ b/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.tsx
@@ -2,7 +2,7 @@ import React, { useCallback, useEffect } from 'react'
import styled, { useTheme } from 'styled-components/native'
import { useAuthContext } from 'features/auth/context/AuthContext'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { navigateToHome } from 'features/navigation/helpers/navigateToHome'
import { useResetRecreditAmountToShow } from 'features/profile/api/useResetRecreditAmountToShow'
import { useAppStateChange } from 'libs/appState'
@@ -26,7 +26,7 @@ import { getNoHeadingAttrs } from 'ui/theme/typographyAttrs/getNoHeadingAttrs'
export const RecreditBirthdayNotification = () => {
const { user } = useAuthContext()
const { uniqueColors } = useTheme()
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const age = getAge(user?.birthDate)
diff --git a/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.web.test.tsx b/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.web.test.tsx
index f877b7c31df..a943fb56433 100644
--- a/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.web.test.tsx
+++ b/src/features/birthdayNotifications/pages/RecreditBirthdayNotification.web.test.tsx
@@ -2,6 +2,7 @@ import React from 'react'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { checkAccessibilityFor, render, screen } from 'tests/utils/web'
@@ -9,6 +10,7 @@ import { RecreditBirthdayNotification } from './RecreditBirthdayNotification'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('', () => {
describe('Accessibility', () => {
diff --git a/src/features/bookOffer/components/BookDuoChoice.native.test.tsx b/src/features/bookOffer/components/BookDuoChoice.native.test.tsx
index bdb75875e22..08b3792bbbc 100644
--- a/src/features/bookOffer/components/BookDuoChoice.native.test.tsx
+++ b/src/features/bookOffer/components/BookDuoChoice.native.test.tsx
@@ -3,6 +3,7 @@ import React from 'react'
import { BookingState, Step } from 'features/bookOffer/context/reducer'
import { mockOffer } from 'features/bookOffer/fixtures/offer'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
import { BookDuoChoice } from './BookDuoChoice'
@@ -23,6 +24,7 @@ jest.mock('features/bookOffer/context/useBookingContext', () => ({
dismissModal: mockDismissModal,
})),
}))
+mockSettings()
jest.mock('features/bookOffer/helpers/useBookingStock', () => ({
useBookingStock: jest.fn(() => ({
diff --git a/src/features/bookOffer/components/BookHourChoice.native.test.tsx b/src/features/bookOffer/components/BookHourChoice.native.test.tsx
index b1ba1aa95e3..ff8eced88cf 100644
--- a/src/features/bookOffer/components/BookHourChoice.native.test.tsx
+++ b/src/features/bookOffer/components/BookHourChoice.native.test.tsx
@@ -6,6 +6,7 @@ import { mockOffer as mockBaseOffer } from 'features/bookOffer/fixtures/offer'
import { stock1, stock2, stock3, stock4 } from 'features/bookOffer/fixtures/stocks'
import { IBookingContext } from 'features/bookOffer/types'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
import { BookHourChoice } from './BookHourChoice'
@@ -14,6 +15,7 @@ const mockStep = Step.HOUR
const mockDuoStep = Step.DUO
const mockDispatch = jest.fn()
+mockSettings()
const mockUseBookingContext: jest.Mock = jest.fn()
mockUseBookingContext.mockReturnValue({
diff --git a/src/features/bookOffer/components/BookPricesChoice.native.test.tsx b/src/features/bookOffer/components/BookPricesChoice.native.test.tsx
index 94132fa9bfe..ec75d980eaa 100644
--- a/src/features/bookOffer/components/BookPricesChoice.native.test.tsx
+++ b/src/features/bookOffer/components/BookPricesChoice.native.test.tsx
@@ -5,6 +5,7 @@ import { BookingState, initialBookingState } from 'features/bookOffer/context/re
import { mockStocks } from 'features/bookOffer/fixtures/stocks'
import { IBookingContext } from 'features/bookOffer/types'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
const mockInitialBookingState = initialBookingState
@@ -25,6 +26,7 @@ const mockCreditOffer = 50000
jest.mock('features/offer/helpers/useHasEnoughCredit/useHasEnoughCredit', () => ({
useCreditForOffer: jest.fn(() => mockCreditOffer),
}))
+mockSettings()
describe('BookPricesChoice', () => {
beforeEach(() => {
diff --git a/src/features/bookOffer/components/BookingEventChoices.native.test.tsx b/src/features/bookOffer/components/BookingEventChoices.native.test.tsx
index 566fcac854f..4dcc240f2b5 100644
--- a/src/features/bookOffer/components/BookingEventChoices.native.test.tsx
+++ b/src/features/bookOffer/components/BookingEventChoices.native.test.tsx
@@ -7,12 +7,14 @@ import { offerResponseSnap } from 'features/offer/fixtures/offerResponse'
import { beneficiaryUser } from 'fixtures/user'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { mockAuthContextWithUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, screen, waitFor } from 'tests/utils'
import { BookingEventChoices } from './BookingEventChoices'
+mockSettings()
jest.mock('features/auth/context/AuthContext')
const mockUseBooking = useBookingContext as jest.Mock
diff --git a/src/features/bookOffer/components/BookingInformations.native.test.tsx b/src/features/bookOffer/components/BookingInformations.native.test.tsx
index 543a7c3c5be..8cbc8776f9b 100644
--- a/src/features/bookOffer/components/BookingInformations.native.test.tsx
+++ b/src/features/bookOffer/components/BookingInformations.native.test.tsx
@@ -8,6 +8,7 @@ import { useBookingStock } from 'features/bookOffer/helpers/useBookingStock'
import { offerStockResponseSnap } from 'features/offer/fixtures/offerStockResponse'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { formatDateTimezone } from 'libs/parsers/formatDates'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
import { BookingInformations } from './BookingInformations'
@@ -17,6 +18,7 @@ const randomDatetime = '2020-12-01T00:00:00Z'
jest.mock('features/bookOffer/context/useBookingContext')
jest.mock('features/bookOffer/helpers/useBookingStock')
jest.mock('libs/address/useFormatFullAddress')
+mockSettings()
const mockedUseBooking = jest.mocked(useBookingContext)
const mockedUseBookingStock = jest.mocked(useBookingStock)
diff --git a/src/features/bookOffer/components/PriceLine.native.test.tsx b/src/features/bookOffer/components/PriceLine.native.test.tsx
index de11adeaa39..7f039fcd03e 100644
--- a/src/features/bookOffer/components/PriceLine.native.test.tsx
+++ b/src/features/bookOffer/components/PriceLine.native.test.tsx
@@ -2,10 +2,13 @@ import React from 'react'
import { PriceLine } from 'features/bookOffer/components/PriceLine'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
const attributes = ['VOSTFR', '3D', 'IMAX']
+mockSettings()
+
describe('', () => {
beforeEach(() => {
setFeatureFlags()
diff --git a/src/features/bookOffer/pages/BookingConfirmation.native.test.tsx b/src/features/bookOffer/pages/BookingConfirmation.native.test.tsx
index 8ce1440657b..52f96163b3e 100644
--- a/src/features/bookOffer/pages/BookingConfirmation.native.test.tsx
+++ b/src/features/bookOffer/pages/BookingConfirmation.native.test.tsx
@@ -7,10 +7,12 @@ import { useReviewInAppInformation } from 'features/bookOffer/helpers/useReviewI
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { BatchProfile } from 'libs/react-native-batch'
+import { mockSettings } from 'tests/mockSettings'
import { act, render, screen, userEvent } from 'tests/utils'
import { BookingConfirmation } from './BookingConfirmation'
+mockSettings()
jest.mock('react-native/Libraries/Animated/animations/TimingAnimation.js')
jest.mock('features/offer/api/useOffer')
diff --git a/src/features/bookOffer/pages/BookingOfferModal.native.test.tsx b/src/features/bookOffer/pages/BookingOfferModal.native.test.tsx
index 4107a307f37..e5a34f9d57e 100644
--- a/src/features/bookOffer/pages/BookingOfferModal.native.test.tsx
+++ b/src/features/bookOffer/pages/BookingOfferModal.native.test.tsx
@@ -16,12 +16,14 @@ import * as logOfferConversionAPI from 'libs/algolia/analytics/logOfferConversio
import { analytics } from 'libs/analytics/provider'
import { CampaignEvents, campaignTracker } from 'libs/campaign'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, fireEvent, render, screen, waitFor } from 'tests/utils'
import { SnackBarHelperSettings } from 'ui/components/snackBar/types'
import { BookingOfferModalComponent } from './BookingOfferModal'
+mockSettings()
jest.mock('libs/campaign')
const mockDismissModal = jest.fn()
diff --git a/src/features/bookings/components/BookingPropertiesSection.native.test.tsx b/src/features/bookings/components/BookingPropertiesSection.native.test.tsx
index b1284eafcca..97fec66f85b 100644
--- a/src/features/bookings/components/BookingPropertiesSection.native.test.tsx
+++ b/src/features/bookings/components/BookingPropertiesSection.native.test.tsx
@@ -7,12 +7,14 @@ import { Booking } from 'features/bookings/types'
import { beneficiaryUser } from 'fixtures/user'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { mockAuthContextWithUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, screen, waitFor } from 'tests/utils'
jest.mock('features/auth/context/AuthContext')
jest.mock('libs/firebase/analytics/analytics')
+mockSettings()
describe('', () => {
beforeEach(() => {
diff --git a/src/features/bookings/pages/BookingDetails/BookingDetails.web.test.tsx b/src/features/bookings/pages/BookingDetails/BookingDetails.web.test.tsx
index 1054e381cf6..c31e15d5042 100644
--- a/src/features/bookings/pages/BookingDetails/BookingDetails.web.test.tsx
+++ b/src/features/bookings/pages/BookingDetails/BookingDetails.web.test.tsx
@@ -11,6 +11,7 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import * as useNetInfoContextDefault from 'libs/network/NetInfoWrapper'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, checkAccessibilityFor, render } from 'tests/utils/web'
@@ -28,6 +29,7 @@ const mockUseNetInfoContext = jest.spyOn(useNetInfoContextDefault, 'useNetInfoCo
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('BookingDetails', () => {
mockUseNetInfoContext.mockReturnValue({ isConnected: true })
diff --git a/src/features/bookings/pages/EndedBookings/EndedBookings.web.test.tsx b/src/features/bookings/pages/EndedBookings/EndedBookings.web.test.tsx
index 0bfb98e1bb3..58443d471d6 100644
--- a/src/features/bookings/pages/EndedBookings/EndedBookings.web.test.tsx
+++ b/src/features/bookings/pages/EndedBookings/EndedBookings.web.test.tsx
@@ -3,6 +3,7 @@ import React from 'react'
import { CategoryIdEnum, NativeCategoryIdEnumv2, SubcategoryIdEnum } from 'api/gen'
import { bookingsSnap } from 'features/bookings/fixtures/bookingsSnap'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { checkAccessibilityFor, render } from 'tests/utils/web'
@@ -10,6 +11,7 @@ import { EndedBookings } from './EndedBookings'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
const mockBookings = { ...bookingsSnap }
jest.mock('features/bookings/api/useBookings', () => ({
diff --git a/src/features/chronicle/components/ChronicleOfferInfo/ChronicleOfferInfo.web.test.tsx b/src/features/chronicle/components/ChronicleOfferInfo/ChronicleOfferInfo.web.test.tsx
index c154f81699c..53ea9d67b0f 100644
--- a/src/features/chronicle/components/ChronicleOfferInfo/ChronicleOfferInfo.web.test.tsx
+++ b/src/features/chronicle/components/ChronicleOfferInfo/ChronicleOfferInfo.web.test.tsx
@@ -1,10 +1,13 @@
import React from 'react'
import { Button } from 'react-native'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils/web'
import { ChronicleOfferInfo } from './ChronicleOfferInfo.web'
+mockSettings()
+
describe('ChronicleOfferInfo', () => {
it('should render correctly', () => {
render()
diff --git a/src/features/cookies/pages/CookiesDetails.web.test.tsx b/src/features/cookies/pages/CookiesDetails.web.test.tsx
index cdc312fb14d..f346bdce255 100644
--- a/src/features/cookies/pages/CookiesDetails.web.test.tsx
+++ b/src/features/cookies/pages/CookiesDetails.web.test.tsx
@@ -1,10 +1,12 @@
import React from 'react'
import { CookiesDetails } from 'features/cookies/pages/CookiesDetails'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, checkAccessibilityFor, render } from 'tests/utils/web'
jest.mock('features/profile/api/useUpdateProfileMutation')
+mockSettings()
// Fix the error "IDs used in ARIA and labels must be unique (duplicate-id-aria)" because the UUIDV4 mock return "testUuidV4"
jest.mock('uuid', () => {
diff --git a/src/features/favorites/pages/Favorites.perf.test.tsx b/src/features/favorites/pages/Favorites.perf.test.tsx
index f88e82edcb2..a542867aaf4 100644
--- a/src/features/favorites/pages/Favorites.perf.test.tsx
+++ b/src/features/favorites/pages/Favorites.perf.test.tsx
@@ -11,6 +11,7 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { decodedTokenWithRemainingLifetime } from 'libs/jwt/fixtures'
import { storage } from 'libs/storage'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { measurePerformance, screen } from 'tests/utils'
@@ -21,6 +22,8 @@ jest.mock('features/favorites/context/FavoritesWrapper')
jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper')
+mockSettings()
+
// Performance measuring is run multiple times so we need to increase the timeout
const TEST_TIMEOUT_IN_MS = 30000
jest.setTimeout(TEST_TIMEOUT_IN_MS)
diff --git a/src/features/home/api/useHighlightOffer.native.test.ts b/src/features/home/api/useHighlightOffer.native.test.ts
index 159fea97efc..4a3512fc0ec 100644
--- a/src/features/home/api/useHighlightOffer.native.test.ts
+++ b/src/features/home/api/useHighlightOffer.native.test.ts
@@ -6,6 +6,8 @@ import { mockedAlgoliaResponse } from 'libs/algolia/fixtures/algoliaFixtures'
import { useLocation } from 'libs/location'
import { ILocationContext } from 'libs/location/types'
import { offersFixture } from 'shared/offer/offer.fixture'
+import { Offer } from 'shared/offer/types'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { renderHook, waitFor } from 'tests/utils'
@@ -26,34 +28,45 @@ const mockFetchOffersByEan = fetchOffersByEan as jest.MockedFunction {
it('should return offer when offerId is provided', async () => {
- mockFetchOffersByIds.mockResolvedValueOnce([mockOffers[0]])
+ mockFetchOffersByIds.mockResolvedValueOnce([mockOffer])
const { result } = renderUseHighlightOfferHook({ offerId: 'offerId1' })
- await waitFor(() => expect(result.current).toEqual(offersFixture[0]))
+ await waitFor(() => expect(result.current).toEqual(mockOfferFixture))
})
it('should return offer when offerTag is provided', async () => {
- mockFetchOffersByTags.mockResolvedValueOnce([mockOffers[0]])
+ mockFetchOffersByTags.mockResolvedValueOnce([mockOffer])
const { result } = renderUseHighlightOfferHook({ offerTag: 'test-tag' })
- await waitFor(() => expect(result.current).toEqual(offersFixture[0]))
+ await waitFor(() => expect(result.current).toEqual(mockOfferFixture))
})
it('should return offer when offerEan is provided', async () => {
- mockFetchOffersByEan.mockResolvedValueOnce([mockOffers[0]])
+ mockFetchOffersByEan.mockResolvedValueOnce([mockOffer])
const { result } = renderUseHighlightOfferHook({ offerEan: '1234567891234' })
- await waitFor(() => expect(result.current).toEqual(offersFixture[0]))
+ await waitFor(() => expect(result.current).toEqual(mockOfferFixture))
})
it('should return undefined when no offer id or tag or ean is provided', async () => {
@@ -64,7 +77,6 @@ describe('useHighlightOffer', () => {
describe('geolocation', () => {
it('should return offer when isGeolocated is true and the distance to the offer is within the radius', async () => {
- const mockOffer = mockOffers[0]
// eslint-disable-next-line local-rules/independent-mocks
mockUseLocation.mockReturnValue({
geolocPosition: { latitude: mockOffer._geoloc.lat, longitude: mockOffer._geoloc.lng },
@@ -78,11 +90,10 @@ describe('useHighlightOffer', () => {
aroundRadius: 100,
})
- await waitFor(() => expect(result.current).toEqual(offersFixture[0]))
+ await waitFor(() => expect(result.current).toEqual(mockOfferFixture))
})
it('should not return offer when isGeolocated is true and the distance to the offer is beyond radius', async () => {
- const mockOffer = mockOffers[0]
// eslint-disable-next-line local-rules/independent-mocks
mockUseLocation.mockReturnValue({
geolocPosition: { latitude: 1, longitude: 1 },
@@ -99,7 +110,6 @@ describe('useHighlightOffer', () => {
})
it('should not return offer when isGeolocated is true and the user position is not defined', async () => {
- const mockOffer = mockOffers[0]
// eslint-disable-next-line local-rules/independent-mocks
mockUseLocation.mockReturnValue({
geolocPosition: undefined,
@@ -116,7 +126,6 @@ describe('useHighlightOffer', () => {
})
it('should return offer when isGeolocated is true and around radius is not defined', async () => {
- const mockOffer = mockOffers[0]
// eslint-disable-next-line local-rules/independent-mocks
mockUseLocation.mockReturnValue({
geolocPosition: { latitude: mockOffer._geoloc.lat, longitude: mockOffer._geoloc.lng },
@@ -128,7 +137,7 @@ describe('useHighlightOffer', () => {
isGeolocated: true,
})
- await waitFor(() => expect(result.current).toEqual(offersFixture[0]))
+ await waitFor(() => expect(result.current).toEqual(mockOfferFixture))
})
})
})
diff --git a/src/features/home/api/useVideoOffers.native.test.ts b/src/features/home/api/useVideoOffers.native.test.ts
index 067ba251818..1de7caf7c06 100644
--- a/src/features/home/api/useVideoOffers.native.test.ts
+++ b/src/features/home/api/useVideoOffers.native.test.ts
@@ -7,10 +7,12 @@ import { fetchOffersByIds } from 'libs/algolia/fetchAlgolia/fetchOffersByIds'
import { mockedAlgoliaResponse } from 'libs/algolia/fixtures/algoliaFixtures'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
import { offersFixture } from 'shared/offer/offer.fixture'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { renderHook, act } from 'tests/utils'
+mockSettings()
jest.mock('libs/algolia/fetchAlgolia/fetchOffersByIds', () => ({
fetchOffersByIds: jest.fn(),
}))
@@ -49,7 +51,8 @@ describe('useVideoOffers', () => {
await act(async () => {})
- expect(result.current.offers).toEqual([offersFixture[0], offersFixture[1]])
+ expect(result.current.offers[0]?.objectID).toEqual(offersFixture[0].objectID)
+ expect(result.current.offers[1]?.objectID).toEqual(offersFixture[1].objectID)
})
it('should return offers when asking for specific EANs', async () => {
@@ -66,7 +69,8 @@ describe('useVideoOffers', () => {
await act(async () => {})
await act(async () => {})
- expect(result.current.offers).toEqual([offersFixture[0], offersFixture[1]])
+ expect(result.current.offers[0]?.objectID).toEqual(offersFixture[0].objectID)
+ expect(result.current.offers[1]?.objectID).toEqual(offersFixture[1].objectID)
})
it('should return offers when only OffersModuleParameters are provided', async () => {
@@ -81,6 +85,6 @@ describe('useVideoOffers', () => {
await act(async () => {})
- expect(result.current.offers).toEqual(offersFixture)
+ expect(result.current.offers).toHaveLength(mockedAlgoliaResponse.hits.length)
})
})
diff --git a/src/features/home/components/AttachedModuleCard/AttachedOfferCard.native.test.tsx b/src/features/home/components/AttachedModuleCard/AttachedOfferCard.native.test.tsx
index 2abd6701849..a358022e7c8 100644
--- a/src/features/home/components/AttachedModuleCard/AttachedOfferCard.native.test.tsx
+++ b/src/features/home/components/AttachedModuleCard/AttachedOfferCard.native.test.tsx
@@ -10,6 +10,7 @@ import { ILocationContext, LocationMode } from 'libs/location/types'
import { PLACEHOLDER_DATA } from 'libs/subcategories/placeholderData'
import { useSubcategories } from 'libs/subcategories/useSubcategories'
import { offersFixture } from 'shared/offer/offer.fixture'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
const offer = offersFixture[2]
@@ -34,6 +35,7 @@ const AROUND_ME_POSITION = {
const mockUseLocation: jest.Mock> = jest.fn(
() => EVERYWHERE_USER_POSITION
)
+mockSettings()
jest.mock('libs/location/LocationWrapper', () => ({
useLocation: () => mockUseLocation(),
}))
diff --git a/src/features/home/components/banners/SignupBanner.native.test.tsx b/src/features/home/components/banners/SignupBanner.native.test.tsx
index 650e285be37..10be83605d5 100644
--- a/src/features/home/components/banners/SignupBanner.native.test.tsx
+++ b/src/features/home/components/banners/SignupBanner.native.test.tsx
@@ -1,16 +1,17 @@
import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { SignupBanner } from 'features/home/components/banners/SignupBanner'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { userEvent, render, screen } from 'tests/utils'
const user = userEvent.setup()
jest.useFakeTimers()
+mockSettings()
describe('SignupBanner', () => {
beforeEach(() => setFeatureFlags())
@@ -87,7 +88,7 @@ describe('SignupBanner', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should display banner with credit V3 subtitle', () => {
diff --git a/src/features/home/components/banners/SignupBanner.tsx b/src/features/home/components/banners/SignupBanner.tsx
index 105e06f08e9..960eadb4e71 100644
--- a/src/features/home/components/banners/SignupBanner.tsx
+++ b/src/features/home/components/banners/SignupBanner.tsx
@@ -2,7 +2,7 @@ import { useNavigation } from '@react-navigation/native'
import React, { FunctionComponent } from 'react'
import styled from 'styled-components/native'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { StepperOrigin, UseNavigationType } from 'features/navigation/RootNavigator/types'
import { analytics } from 'libs/analytics/provider'
import { BannerWithBackground } from 'ui/components/ModuleBanner/BannerWithBackground'
@@ -18,7 +18,7 @@ type Props = {
export const SignupBanner: FunctionComponent = ({ hasGraphicRedesign }) => {
const { navigate } = useNavigation()
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const title = 'Débloque ton crédit'
diff --git a/src/features/home/components/modules/RecommendationModule.native.test.tsx b/src/features/home/components/modules/RecommendationModule.native.test.tsx
index ec41028759e..89f75096973 100644
--- a/src/features/home/components/modules/RecommendationModule.native.test.tsx
+++ b/src/features/home/components/modules/RecommendationModule.native.test.tsx
@@ -7,6 +7,7 @@ import { ContentTypes, DisplayParametersFields } from 'libs/contentful/types'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, screen, waitFor } from 'tests/utils'
@@ -33,6 +34,8 @@ jest.mock('features/home/api/useHomeRecommendedOffers', () => ({
useHomeRecommendedOffers: () => mockUseHomeRecommendedOffers(),
}))
+mockSettings()
+
jest.mock('libs/firebase/analytics/analytics')
describe('RecommendationModule', () => {
diff --git a/src/features/home/components/modules/VenueListModule.native.test.tsx b/src/features/home/components/modules/VenueListModule.native.test.tsx
index 308f4e66601..675b0eb0d39 100644
--- a/src/features/home/components/modules/VenueListModule.native.test.tsx
+++ b/src/features/home/components/modules/VenueListModule.native.test.tsx
@@ -9,11 +9,13 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { LocationMode } from 'libs/location/types'
import { SuggestedPlace } from 'libs/place/types'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen, waitFor } from 'tests/utils'
import * as useModalAPI from 'ui/components/modals/useModal'
const mockShowModal = jest.fn()
const useModalAPISpy = jest.spyOn(useModalAPI, 'useModal')
+mockSettings()
const mockedPlace: SuggestedPlace = {
label: 'Kourou',
diff --git a/src/features/home/components/modules/VenueListModule.web.test.tsx b/src/features/home/components/modules/VenueListModule.web.test.tsx
index 5e21ecea673..8e2e5b86187 100644
--- a/src/features/home/components/modules/VenueListModule.web.test.tsx
+++ b/src/features/home/components/modules/VenueListModule.web.test.tsx
@@ -4,9 +4,11 @@ import { navigate } from '__mocks__/@react-navigation/native'
import { VenueListModule } from 'features/home/components/modules/VenueListModule.web'
import { venuesSearchFixture } from 'libs/algolia/fixtures/venuesSearchFixture'
import { analytics } from 'libs/analytics/provider'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen, waitFor } from 'tests/utils/web'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('', () => {
it('should redirect to thematic home', async () => {
diff --git a/src/features/home/components/modules/VenueListModuleItem.native.test.tsx b/src/features/home/components/modules/VenueListModuleItem.native.test.tsx
index d99e43c452a..800b883a406 100644
--- a/src/features/home/components/modules/VenueListModuleItem.native.test.tsx
+++ b/src/features/home/components/modules/VenueListModuleItem.native.test.tsx
@@ -5,8 +5,11 @@ import { VenueListModule } from 'features/home/components/modules/VenueListModul
import { venuesSearchFixture } from 'libs/algolia/fixtures/venuesSearchFixture'
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen, waitFor } from 'tests/utils'
+mockSettings()
+
describe('', () => {
beforeEach(() => {
setFeatureFlags()
diff --git a/src/features/home/components/modules/exclusivity/ExclusivityBanner.native.test.tsx b/src/features/home/components/modules/exclusivity/ExclusivityBanner.native.test.tsx
index 61d579ed86a..c3ab58d00be 100644
--- a/src/features/home/components/modules/exclusivity/ExclusivityBanner.native.test.tsx
+++ b/src/features/home/components/modules/exclusivity/ExclusivityBanner.native.test.tsx
@@ -3,6 +3,7 @@ import React from 'react'
import { ExclusivityBanner } from 'features/home/components/modules/exclusivity/ExclusivityBanner'
import { analytics } from 'libs/analytics/provider'
import { ContentTypes } from 'libs/contentful/types'
+import { mockSettings } from 'tests/mockSettings'
import { render } from 'tests/utils'
const props = {
@@ -15,6 +16,8 @@ const props = {
index: 1,
}
+mockSettings()
+
describe('ExclusivityBanner component', () => {
it('should trigger logEvent "ModuleDisplayedOnHomepage" on render', () => {
render()
diff --git a/src/features/home/components/modules/exclusivity/ExclusivityExternalLink.native.test.tsx b/src/features/home/components/modules/exclusivity/ExclusivityExternalLink.native.test.tsx
index 9f8cb4753f5..98964be834a 100644
--- a/src/features/home/components/modules/exclusivity/ExclusivityExternalLink.native.test.tsx
+++ b/src/features/home/components/modules/exclusivity/ExclusivityExternalLink.native.test.tsx
@@ -4,9 +4,11 @@ import { ExclusivityExternalLink } from 'features/home/components/modules/exclus
import * as NavigationHelpers from 'features/navigation/helpers/openUrl'
import { analytics } from 'libs/analytics/provider'
import { ContentTypes } from 'libs/contentful/types'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
const openUrl = jest.spyOn(NavigationHelpers, 'openUrl')
+mockSettings()
const props = {
title: 'Image d’Adèle',
diff --git a/src/features/home/components/modules/exclusivity/ExclusivityModule.native.test.tsx b/src/features/home/components/modules/exclusivity/ExclusivityModule.native.test.tsx
index e719980d7b6..483a6a1c530 100644
--- a/src/features/home/components/modules/exclusivity/ExclusivityModule.native.test.tsx
+++ b/src/features/home/components/modules/exclusivity/ExclusivityModule.native.test.tsx
@@ -4,10 +4,12 @@ import { UseQueryResult } from 'react-query'
import { OfferResponseV2 } from 'api/gen'
import * as excluOfferAPI from 'features/home/api/useExcluOffer'
import { offerResponseSnap as mockOffer } from 'features/offer/fixtures/offerResponse'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
import { ExclusivityModule, ExclusivityModuleProps } from './ExclusivityModule'
+mockSettings()
jest.mock('features/search/helpers/useMaxPrice/useMaxPrice', () => ({
useMaxPrice: jest.fn(() => 300_00),
}))
diff --git a/src/features/home/components/modules/exclusivity/ExclusivityOffer.native.test.tsx b/src/features/home/components/modules/exclusivity/ExclusivityOffer.native.test.tsx
index fab51f7b796..4e76d6c2e41 100644
--- a/src/features/home/components/modules/exclusivity/ExclusivityOffer.native.test.tsx
+++ b/src/features/home/components/modules/exclusivity/ExclusivityOffer.native.test.tsx
@@ -8,12 +8,15 @@ import { ExclusivityOffer } from 'features/home/components/modules/exclusivity/E
import { offerResponseSnap as mockOffer } from 'features/offer/fixtures/offerResponse'
import { analytics } from 'libs/analytics/provider'
import { ContentTypes } from 'libs/contentful/types'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
jest.mock('features/search/helpers/useMaxPrice/useMaxPrice', () => ({
useMaxPrice: jest.fn(() => 300_00),
}))
+mockSettings()
+
const props = {
title: 'Image d’Adèle',
alt: 'Image d’Adèle',
diff --git a/src/features/home/components/modules/marketing/MarketingBlockExclusivity.native.test.tsx b/src/features/home/components/modules/marketing/MarketingBlockExclusivity.native.test.tsx
index d1920fe881d..4ec88ec4462 100644
--- a/src/features/home/components/modules/marketing/MarketingBlockExclusivity.native.test.tsx
+++ b/src/features/home/components/modules/marketing/MarketingBlockExclusivity.native.test.tsx
@@ -6,6 +6,7 @@ import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { PLACEHOLDER_DATA } from 'libs/subcategories/placeholderData'
import { offersFixture } from 'shared/offer/offer.fixture'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
import { MarketingBlockExclusivity } from './MarketingBlockExclusivity'
@@ -24,6 +25,7 @@ const propsWithPublicationDateTomorrow = {
offer: { ...offersFixture[0], offer: { ...offersFixture[0].offer, publicationDate: tomorrow } },
}
+mockSettings()
jest.mock('libs/subcategories/useSubcategory')
const mockSubcategories = PLACEHOLDER_DATA.subcategories
jest.mock('libs/subcategories/useSubcategories', () => ({
diff --git a/src/features/home/components/modules/video/VideoModule.native.test.tsx b/src/features/home/components/modules/video/VideoModule.native.test.tsx
index cc21f9dc113..ba5b843c1c3 100644
--- a/src/features/home/components/modules/video/VideoModule.native.test.tsx
+++ b/src/features/home/components/modules/video/VideoModule.native.test.tsx
@@ -7,11 +7,13 @@ import { videoModuleFixture } from 'features/home/fixtures/videoModule.fixture'
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { userEvent, render, screen } from 'tests/utils'
const mockShowModal = jest.fn()
+mockSettings()
jest.mock('ui/components/modals/useModal', () => ({
useModal: () => ({
visible: false,
diff --git a/src/features/home/pages/Home.web.test.tsx b/src/features/home/pages/Home.web.test.tsx
index fe0dc885141..80d5ffc1dbf 100644
--- a/src/features/home/pages/Home.web.test.tsx
+++ b/src/features/home/pages/Home.web.test.tsx
@@ -7,6 +7,7 @@ import { formattedBusinessModule } from 'features/home/fixtures/homepage.fixture
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, checkAccessibilityFor, render } from 'tests/utils/web'
@@ -14,6 +15,7 @@ import { act, checkAccessibilityFor, render } from 'tests/utils/web'
import { Home } from './Home'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
const mockShouldShowSkeleton = false
jest.mock('features/home/api/useShowSkeleton', () => ({
diff --git a/src/features/identityCheck/pages/Stepper.web.test.tsx b/src/features/identityCheck/pages/Stepper.web.test.tsx
index 91dd950596a..652670d75e6 100644
--- a/src/features/identityCheck/pages/Stepper.web.test.tsx
+++ b/src/features/identityCheck/pages/Stepper.web.test.tsx
@@ -6,12 +6,14 @@ import { stepsDetailsFixture } from 'features/identityCheck/pages/helpers/stepDe
import { useRehydrateProfile } from 'features/identityCheck/pages/helpers/useRehydrateProfile'
import { useStepperInfo } from 'features/identityCheck/pages/helpers/useStepperInfo'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
import { Stepper } from './Stepper'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
mockdate.set(new Date('2020-12-01T00:00:00.000Z'))
diff --git a/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.native.test.tsx b/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.native.test.tsx
index 995bd9b7b91..4946ca79def 100644
--- a/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.native.test.tsx
+++ b/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.native.test.tsx
@@ -1,7 +1,6 @@
import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { BeneficiaryAccountCreated } from 'features/identityCheck/pages/confirmation/BeneficiaryAccountCreated'
import * as ShareAppWrapperModule from 'features/share/context/ShareAppWrapper'
import { ShareAppWrapper } from 'features/share/context/ShareAppWrapper'
@@ -11,11 +10,13 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { BatchProfile } from 'libs/react-native-batch'
import { mockAuthContextWithUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { userEvent, render, screen, act } from 'tests/utils'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('features/auth/context/AuthContext')
+mockSettings()
const mockShowAppModal = jest.fn()
jest
@@ -129,7 +130,7 @@ describe('', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should have correct credit information text', async () => {
diff --git a/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.tsx b/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.tsx
index f1fe668eded..a05a8800064 100644
--- a/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.tsx
+++ b/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.tsx
@@ -2,7 +2,7 @@ import React, { useCallback } from 'react'
import styled, { useTheme } from 'styled-components/native'
import { useAuthContext } from 'features/auth/context/AuthContext'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { creditActions } from 'features/identityCheck/api/useCreditStore'
import { navigateToHome, navigateToHomeConfig } from 'features/navigation/helpers/navigateToHome'
import { isUserUnderageBeneficiary } from 'features/profile/helpers/isUserUnderageBeneficiary'
@@ -28,7 +28,7 @@ export function BeneficiaryAccountCreated() {
const maxPriceInCents = useMaxPrice()
const { uniqueColors } = useTheme()
const { user } = useAuthContext()
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const isUnderageBeneficiary = isUserUnderageBeneficiary(user)
const shouldShowCulturalSurvey = useShouldShowCulturalSurveyForBeneficiaryUser()
diff --git a/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.web.test.tsx b/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.web.test.tsx
index 1365239fdf5..8f1bb51785f 100644
--- a/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.web.test.tsx
+++ b/src/features/identityCheck/pages/confirmation/BeneficiaryAccountCreated.web.test.tsx
@@ -2,6 +2,7 @@ import React from 'react'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { render, checkAccessibilityFor, screen } from 'tests/utils/web'
import { BeneficiaryAccountCreated } from './BeneficiaryAccountCreated'
@@ -9,6 +10,7 @@ import { BeneficiaryAccountCreated } from './BeneficiaryAccountCreated'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('features/auth/context/AuthContext')
+mockSettings()
describe('', () => {
describe('Accessibility', () => {
diff --git a/src/features/identityCheck/pages/helpers/useStepperInfo.native.test.tsx b/src/features/identityCheck/pages/helpers/useStepperInfo.native.test.tsx
index fa34a94b847..aa3b5d4fce0 100644
--- a/src/features/identityCheck/pages/helpers/useStepperInfo.native.test.tsx
+++ b/src/features/identityCheck/pages/helpers/useStepperInfo.native.test.tsx
@@ -1,7 +1,6 @@
import { UseQueryResult } from 'react-query'
import { SubscriptionStepperResponseV2 } from 'api/gen'
-import { setSettings } from 'features/auth/tests/setSettings'
import { useGetStepperInfo } from 'features/identityCheck/api/useGetStepperInfo'
import { usePhoneValidationRemainingAttempts } from 'features/identityCheck/api/usePhoneValidationRemainingAttempts'
import { initialSubscriptionState as mockState } from 'features/identityCheck/context/reducer'
@@ -15,6 +14,7 @@ import { beneficiaryUser } from 'fixtures/user'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { mockAuthContextWithUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
const mockIdentityCheckState = mockState
const mockRemainingAttempts = {
@@ -57,7 +57,7 @@ jest.mock('features/identityCheck/context/SubscriptionContextProvider', () => ({
describe('useStepperInfo', () => {
beforeEach(() => {
setFeatureFlags()
- setSettings({ enablePhoneValidation: true })
+ mockSettings({ enablePhoneValidation: true })
})
it('should return title and subtitle', () => {
@@ -106,7 +106,7 @@ describe('useStepperInfo', () => {
},
})
- setSettings({ enablePhoneValidation: false })
+ mockSettings({ enablePhoneValidation: false })
const { stepsDetails } = useStepperInfo()
const phoneValidationStep = stepsDetails.find(
diff --git a/src/features/identityCheck/pages/helpers/useStepperInfo.tsx b/src/features/identityCheck/pages/helpers/useStepperInfo.tsx
index d949cbe706a..29801313a87 100644
--- a/src/features/identityCheck/pages/helpers/useStepperInfo.tsx
+++ b/src/features/identityCheck/pages/helpers/useStepperInfo.tsx
@@ -2,7 +2,7 @@ import React from 'react'
import { CurrencyEnum, SubscriptionStepCompletionState } from 'api/gen'
import { useAuthContext } from 'features/auth/context/AuthContext'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { useGetStepperInfo } from 'features/identityCheck/api/useGetStepperInfo'
import { usePhoneValidationRemainingAttempts } from 'features/identityCheck/api/usePhoneValidationRemainingAttempts'
import { IconRetryStep } from 'features/identityCheck/components/IconRetryStep'
@@ -40,7 +40,7 @@ export const useStepperInfo = (): StepperInfo => {
const { remainingAttempts } = usePhoneValidationRemainingAttempts()
const { data } = useGetStepperInfo()
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
if (!data) {
return {
diff --git a/src/features/identityCheck/pages/identification/educonnect/EduConnectForm.web.test.tsx b/src/features/identityCheck/pages/identification/educonnect/EduConnectForm.web.test.tsx
index 9cf082e2902..61d83861c92 100644
--- a/src/features/identityCheck/pages/identification/educonnect/EduConnectForm.web.test.tsx
+++ b/src/features/identityCheck/pages/identification/educonnect/EduConnectForm.web.test.tsx
@@ -1,6 +1,7 @@
import React from 'react'
import * as useEduConnectLoginAPI from 'features/identityCheck/api/useEduConnectLogin'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, fireEvent, render, screen } from 'tests/utils/web'
import { EduConnectForm } from './EduConnectForm'
@@ -14,6 +15,7 @@ jest.spyOn(useEduConnectLoginAPI, 'useEduConnectLogin').mockReturnValue({
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('ui/theme/customFocusOutline/customFocusOutline')
+mockSettings()
describe('', () => {
it('should render EduConnectForm', () => {
diff --git a/src/features/identityCheck/pages/identification/ubble/ExpiredOrLostID.web.test.tsx b/src/features/identityCheck/pages/identification/ubble/ExpiredOrLostID.web.test.tsx
index 45054929e03..9340399df97 100644
--- a/src/features/identityCheck/pages/identification/ubble/ExpiredOrLostID.web.test.tsx
+++ b/src/features/identityCheck/pages/identification/ubble/ExpiredOrLostID.web.test.tsx
@@ -1,11 +1,13 @@
import React from 'react'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
import { ExpiredOrLostID } from './ExpiredOrLostID'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('', () => {
describe('Accessibility', () => {
diff --git a/src/features/identityCheck/pages/profile/SetAddress.native.test.tsx b/src/features/identityCheck/pages/profile/SetAddress.native.test.tsx
index cee23f74652..56e8809a0c9 100644
--- a/src/features/identityCheck/pages/profile/SetAddress.native.test.tsx
+++ b/src/features/identityCheck/pages/profile/SetAddress.native.test.tsx
@@ -3,7 +3,6 @@ import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
import { SettingsResponse } from 'api/gen'
-import { SettingsWrapper } from 'features/auth/context/SettingsContext'
import { defaultSettings } from 'features/auth/fixtures/fixtures'
import { SetAddress } from 'features/identityCheck/pages/profile/SetAddress'
import { analytics } from 'libs/analytics/provider'
@@ -11,6 +10,7 @@ import * as useNetInfoContextDefault from 'libs/network/NetInfoWrapper'
import { mockedSuggestedPlaces } from 'libs/place/fixtures/mockedSuggestedPlaces'
import { Properties } from 'libs/place/types'
import { storage } from 'libs/storage'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { fireEvent, render, waitFor, screen } from 'tests/utils'
@@ -18,6 +18,8 @@ import { SnackBarHelperSettings } from 'ui/components/snackBar/types'
const QUERY_ADDRESS = '1 rue Poissonnière'
+mockSettings()
+
const mockShowErrorSnackBar = jest.fn()
jest.mock('ui/components/snackBar/SnackBarContext', () => ({
useSnackBarContext: () => ({
@@ -101,6 +103,7 @@ describe('', () => {
})
it('should log analytics on press Continuer', async () => {
+ mockSettings({ idCheckAddressAutocompletion: false })
renderSetAddress()
const input = screen.getByPlaceholderText('Ex\u00a0: 34 avenue de l’Opéra')
@@ -108,18 +111,12 @@ describe('', () => {
fireEvent.press(screen.getByText('Continuer'))
- await screen.findByText('Recherche et sélectionne ton adresse')
+ await screen.findByText('Entre ton adresse')
await waitFor(() => expect(analytics.logSetAddressClicked).toHaveBeenCalledTimes(1))
})
})
function renderSetAddress() {
- return render(
- reactQueryProviderHOC(
-
-
-
- )
- )
+ return render(reactQueryProviderHOC())
}
diff --git a/src/features/identityCheck/pages/profile/SetAddress.tsx b/src/features/identityCheck/pages/profile/SetAddress.tsx
index ba8beac132c..8f21ba41748 100644
--- a/src/features/identityCheck/pages/profile/SetAddress.tsx
+++ b/src/features/identityCheck/pages/profile/SetAddress.tsx
@@ -5,7 +5,7 @@ import { Keyboard, Platform } from 'react-native'
import styled from 'styled-components/native'
import { v4 as uuidv4 } from 'uuid'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { AddressOption } from 'features/identityCheck/components/AddressOption'
import { CenteredTitle } from 'features/identityCheck/components/CenteredTitle'
import { PageWithHeader } from 'features/identityCheck/components/layout/PageWithHeader'
@@ -32,7 +32,7 @@ const snackbarMessage =
const exception = 'Failed to fetch data from API: https://api-adresse.data.gouv.fr/search'
export const SetAddress = () => {
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const storedAddress = useAddress()
const storedCity = useCity()
const { setAddress: setStoreAddress } = addressActions
diff --git a/src/features/identityCheck/pages/profile/SetAddress.web.test.tsx b/src/features/identityCheck/pages/profile/SetAddress.web.test.tsx
index 6baa6456e85..95e845f8180 100644
--- a/src/features/identityCheck/pages/profile/SetAddress.web.test.tsx
+++ b/src/features/identityCheck/pages/profile/SetAddress.web.test.tsx
@@ -1,6 +1,7 @@
import React from 'react'
import { SetAddress } from 'features/identityCheck/pages/profile/SetAddress'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { checkAccessibilityFor, render, screen, waitFor } from 'tests/utils/web'
@@ -11,6 +12,7 @@ jest.mock('uuid', () => ({
jest.mock('features/identityCheck/context/SubscriptionContextProvider')
jest.mock('ui/theme/customFocusOutline/customFocusOutline')
+mockSettings()
describe('', () => {
it('should render correctly', () => {
diff --git a/src/features/identityCheck/pages/profile/SetName.web.test.tsx b/src/features/identityCheck/pages/profile/SetName.web.test.tsx
index 26e3005e94c..b6fd5f315f5 100644
--- a/src/features/identityCheck/pages/profile/SetName.web.test.tsx
+++ b/src/features/identityCheck/pages/profile/SetName.web.test.tsx
@@ -1,12 +1,14 @@
import React from 'react'
import { initialSubscriptionState as mockState } from 'features/identityCheck/context/reducer'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, checkAccessibilityFor, waitFor, screen } from 'tests/utils/web'
import { SetName } from './SetName'
jest.mock('libs/subcategories/useSubcategory')
+mockSettings()
jest.mock('uuid', () => ({
v1: jest.fn(),
diff --git a/src/features/navigation/services.web.test.tsx b/src/features/navigation/services.web.test.tsx
index b0adb820cfe..97c713121a7 100644
--- a/src/features/navigation/services.web.test.tsx
+++ b/src/features/navigation/services.web.test.tsx
@@ -4,6 +4,7 @@ import { createStackNavigator } from '@react-navigation/stack'
import React from 'react'
import { analytics } from 'libs/analytics/provider'
+import { mockSettings } from 'tests/mockSettings'
import { act, render } from 'tests/utils/web'
import { onNavigationStateChange } from './services'
@@ -17,6 +18,8 @@ jest.mock('react-native-safe-area-context', () => ({
useSafeAreaInsets: () => ({ bottom: 16, right: 16, left: 16, top: 16 }),
}))
+mockSettings()
+
describe('onNavigationStateChange()', () => {
it('should log screen view on navigation change', async () => {
// Waiting for React Navigation to fix this issue:
diff --git a/src/features/offer/components/OfferContent/OfferContent.web.test.tsx b/src/features/offer/components/OfferContent/OfferContent.web.test.tsx
index c0dddb69665..2fe029acb74 100644
--- a/src/features/offer/components/OfferContent/OfferContent.web.test.tsx
+++ b/src/features/offer/components/OfferContent/OfferContent.web.test.tsx
@@ -12,6 +12,7 @@ import { SuggestedPlace } from 'libs/place/types'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
import { PLACEHOLDER_DATA } from 'libs/subcategories/placeholderData'
import { mockAuthContextWithoutUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, screen, waitFor, userEvent } from 'tests/utils/web'
@@ -20,6 +21,7 @@ import * as useModalAPI from 'ui/components/modals/useModal'
import { OfferContent } from './OfferContent.web'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
const mockShowModal = jest.fn()
jest.spyOn(useModalAPI, 'useModal').mockReturnValue({
diff --git a/src/features/offer/components/OfferHeader/OfferHeader.native.test.tsx b/src/features/offer/components/OfferHeader/OfferHeader.native.test.tsx
index 5d5159162ac..d3d8b646764 100644
--- a/src/features/offer/components/OfferHeader/OfferHeader.native.test.tsx
+++ b/src/features/offer/components/OfferHeader/OfferHeader.native.test.tsx
@@ -6,6 +6,7 @@ import { paginatedFavoritesResponseSnap } from 'features/favorites/fixtures/pagi
import * as useGoBack from 'features/navigation/useGoBack'
import { offerResponseSnap } from 'features/offer/fixtures/offerResponse'
import { analytics } from 'libs/analytics/provider'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, fireEvent, render, screen, waitFor } from 'tests/utils'
@@ -19,6 +20,7 @@ import { useSnackBarContext } from 'ui/components/snackBar/SnackBarContext'
import { OfferHeader } from '../OfferHeader/OfferHeader'
+mockSettings()
jest.unmock('react-native/Libraries/Animated/createAnimatedComponent')
const mockShare = jest.spyOn(Share, 'share').mockImplementation(jest.fn())
diff --git a/src/features/offer/components/OfferImageCarousel/OfferImageCarousel.native.test.tsx b/src/features/offer/components/OfferImageCarousel/OfferImageCarousel.native.test.tsx
index 521156fc659..e5c18f40f66 100644
--- a/src/features/offer/components/OfferImageCarousel/OfferImageCarousel.native.test.tsx
+++ b/src/features/offer/components/OfferImageCarousel/OfferImageCarousel.native.test.tsx
@@ -1,10 +1,13 @@
import React from 'react'
import { SharedValue } from 'react-native-reanimated'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
import { OfferImageCarousel } from './OfferImageCarousel'
+mockSettings()
+
describe('OfferImageCarousel', () => {
const user = userEvent.setup()
diff --git a/src/features/offer/components/OfferImageCarousel/OfferImageCarousel.web.test.tsx b/src/features/offer/components/OfferImageCarousel/OfferImageCarousel.web.test.tsx
index 686d384aaeb..2725ae5f5ad 100644
--- a/src/features/offer/components/OfferImageCarousel/OfferImageCarousel.web.test.tsx
+++ b/src/features/offer/components/OfferImageCarousel/OfferImageCarousel.web.test.tsx
@@ -1,10 +1,13 @@
import React from 'react'
import { SharedValue } from 'react-native-reanimated'
+import { mockSettings } from 'tests/mockSettings'
import { act, render, screen, userEvent } from 'tests/utils/web'
import { OfferImageCarousel } from './OfferImageCarousel'
+mockSettings()
+
describe('OfferImageCarousel', () => {
const user = userEvent.setup({ delay: 50 })
diff --git a/src/features/offer/components/OfferImageContainer/OfferImageContainer.native.test.tsx b/src/features/offer/components/OfferImageContainer/OfferImageContainer.native.test.tsx
index cc880520e9a..50a548be936 100644
--- a/src/features/offer/components/OfferImageContainer/OfferImageContainer.native.test.tsx
+++ b/src/features/offer/components/OfferImageContainer/OfferImageContainer.native.test.tsx
@@ -2,9 +2,11 @@ import React from 'react'
import { CategoryIdEnum } from 'api/gen'
import { OfferImageContainer } from 'features/offer/components/OfferImageContainer/OfferImageContainer'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
jest.mock('libs/subcategories/useCategoryId')
+mockSettings()
describe('', () => {
it('should display image inside carousel when offer has only one image with no pagination', () => {
diff --git a/src/features/offer/components/OfferImageContainer/OfferImageContainer.web.test.tsx b/src/features/offer/components/OfferImageContainer/OfferImageContainer.web.test.tsx
index a48398106ce..f2c4e2c81a2 100644
--- a/src/features/offer/components/OfferImageContainer/OfferImageContainer.web.test.tsx
+++ b/src/features/offer/components/OfferImageContainer/OfferImageContainer.web.test.tsx
@@ -2,9 +2,11 @@ import React from 'react'
import { CategoryIdEnum } from 'api/gen'
import { OfferImageContainer } from 'features/offer/components/OfferImageContainer/OfferImageContainer'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils/web'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
const mockOnPress = jest.fn()
diff --git a/src/features/offer/components/OfferImageWrapper/OfferImageWrapper.native.test.tsx b/src/features/offer/components/OfferImageWrapper/OfferImageWrapper.native.test.tsx
index b0f196f1ae0..98a899da977 100644
--- a/src/features/offer/components/OfferImageWrapper/OfferImageWrapper.native.test.tsx
+++ b/src/features/offer/components/OfferImageWrapper/OfferImageWrapper.native.test.tsx
@@ -2,8 +2,11 @@ import React, { ComponentProps } from 'react'
import { OfferBodyImage } from 'features/offer/components/OfferBodyImage'
import { OfferImageWrapper } from 'features/offer/components/OfferImageWrapper/OfferImageWrapper'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
+mockSettings()
+
describe('', () => {
it('should display image gradient when offer preview feature flag activated and image url defined', () => {
renderOfferImageWrapper({
diff --git a/src/features/offer/components/OfferImageWrapper/OfferImageWrapper.web.test.tsx b/src/features/offer/components/OfferImageWrapper/OfferImageWrapper.web.test.tsx
index 4d0b44fd005..89047a2c210 100644
--- a/src/features/offer/components/OfferImageWrapper/OfferImageWrapper.web.test.tsx
+++ b/src/features/offer/components/OfferImageWrapper/OfferImageWrapper.web.test.tsx
@@ -2,9 +2,12 @@ import React, { ComponentProps } from 'react'
import { OfferBodyImage } from 'features/offer/components/OfferBodyImage'
import { OfferImageWrapper } from 'features/offer/components/OfferImageWrapper/OfferImageWrapper'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, waitFor } from 'tests/utils/web'
import { theme } from 'theme'
+mockSettings()
+
describe('', () => {
it('should apply borderRadius when not in carousel', async () => {
renderOfferImageWrapper({
diff --git a/src/features/offer/components/OfferVenueBlock/OfferVenueBlock.native.test.tsx b/src/features/offer/components/OfferVenueBlock/OfferVenueBlock.native.test.tsx
index 0587b672f14..2b9d6f7a6bd 100644
--- a/src/features/offer/components/OfferVenueBlock/OfferVenueBlock.native.test.tsx
+++ b/src/features/offer/components/OfferVenueBlock/OfferVenueBlock.native.test.tsx
@@ -5,10 +5,12 @@ import { useVenueBlock } from 'features/offer/components/OfferVenueBlock/useVenu
import { offerResponseSnap } from 'features/offer/fixtures/offerResponse'
import { ILocationContext } from 'libs/location'
import { LocationMode } from 'libs/location/types'
+import { mockSettings } from 'tests/mockSettings'
import { userEvent, render, screen } from 'tests/utils'
import { OfferVenueBlock } from './OfferVenueBlock'
+mockSettings()
jest.mock('features/offer/components/OfferVenueBlock/useVenueBlock')
const mockOnCopyAddressPress = jest.fn()
const mockUseVenueBlock = jest.mocked(useVenueBlock)
diff --git a/src/features/offer/pages/Offer/Offer.perf.test.tsx b/src/features/offer/pages/Offer/Offer.perf.test.tsx
index e8a6e87b744..94021b6b94c 100644
--- a/src/features/offer/pages/Offer/Offer.perf.test.tsx
+++ b/src/features/offer/pages/Offer/Offer.perf.test.tsx
@@ -13,6 +13,7 @@ import {
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { Network } from 'libs/share/types'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, measurePerformance, screen } from 'tests/utils'
@@ -44,6 +45,8 @@ jest.useFakeTimers()
jest.mock('libs/network/NetInfoWrapper')
+mockSettings()
+
useRoute.mockReturnValue({
params: {
id: offerResponseSnap.id,
diff --git a/src/features/profile/components/BeneficiaryCeilings/BeneficiaryCeilings.native.test.tsx b/src/features/profile/components/BeneficiaryCeilings/BeneficiaryCeilings.native.test.tsx
index c60cd713686..2102054f61b 100644
--- a/src/features/profile/components/BeneficiaryCeilings/BeneficiaryCeilings.native.test.tsx
+++ b/src/features/profile/components/BeneficiaryCeilings/BeneficiaryCeilings.native.test.tsx
@@ -9,6 +9,7 @@ import {
} from 'features/profile/fixtures/domainsCredit'
import * as ProfileUtils from 'features/profile/helpers/useIsUserUnderageBeneficiary'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, waitFor } from 'tests/utils'
const mockUseIsUserUnderageBeneficiary = jest
@@ -16,6 +17,7 @@ const mockUseIsUserUnderageBeneficiary = jest
.mockReturnValue(false)
jest.mock('libs/firebase/analytics/analytics')
+mockSettings()
describe('BeneficiaryCeilings', () => {
beforeEach(() => {
diff --git a/src/features/profile/components/CitySearchInput/CitySearchInput.native.test.tsx b/src/features/profile/components/CitySearchInput/CitySearchInput.native.test.tsx
index 7a6e5737a7e..203f28d0a0e 100644
--- a/src/features/profile/components/CitySearchInput/CitySearchInput.native.test.tsx
+++ b/src/features/profile/components/CitySearchInput/CitySearchInput.native.test.tsx
@@ -1,10 +1,9 @@
import React from 'react'
-import * as SettingsContextAPI from 'features/auth/context/SettingsContext'
-import { defaultSettings } from 'features/auth/fixtures/fixtures'
import { CitySearchInput } from 'features/profile/components/CitySearchInput/CitySearchInput'
import { mockedSuggestedCities } from 'libs/place/fixtures/mockedSuggestedCities'
import { CitiesResponse, CITIES_API_URL } from 'libs/place/useCities'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, screen, userEvent } from 'tests/utils'
@@ -19,13 +18,7 @@ jest.useFakeTimers()
describe('', () => {
beforeEach(() => {
- jest.spyOn(SettingsContextAPI, 'useSettingsContext').mockReturnValue({
- data: {
- ...defaultSettings,
- ineligiblePostalCodes: [NEW_CALEDONIA_NORTHERN_PROVINCE_POSTAL_CODE],
- },
- isLoading: false,
- })
+ mockSettings({ ineligiblePostalCodes: [NEW_CALEDONIA_NORTHERN_PROVINCE_POSTAL_CODE] })
})
it('should display error message when the user enters a valid postal code but no city found', async () => {
diff --git a/src/features/profile/components/CitySearchInput/CitySearchInput.tsx b/src/features/profile/components/CitySearchInput/CitySearchInput.tsx
index 3791f1748f7..fddd7e35004 100644
--- a/src/features/profile/components/CitySearchInput/CitySearchInput.tsx
+++ b/src/features/profile/components/CitySearchInput/CitySearchInput.tsx
@@ -7,7 +7,7 @@ import styled from 'styled-components/native'
import { v4 as uuidv4 } from 'uuid'
import { object, string } from 'yup'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { AddressOption } from 'features/identityCheck/components/AddressOption'
import { IdentityCheckError } from 'features/identityCheck/pages/profile/errors'
import { AccessibilityRole } from 'libs/accessibilityRole/accessibilityRole'
@@ -36,7 +36,7 @@ type PostalCodeForm = { postalCode: string }
export const CitySearchInput = ({ city, onCitySelected }: CitySearchInputProps) => {
const { showErrorSnackBar } = useSnackBarContext()
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const [postalCodeQuery, setPostalCodeQuery] = useState(city?.postalCode ?? '')
const [isPostalCodeIneligible, setIsPostalCodeIneligible] = useState(false)
const debouncedSetPostalCode = useRef(debounce(setPostalCodeQuery, 500)).current
diff --git a/src/features/profile/components/CreditExplanation/CreditExplanation.native.test.tsx b/src/features/profile/components/CreditExplanation/CreditExplanation.native.test.tsx
index d5dee38e5d5..a43258b8638 100644
--- a/src/features/profile/components/CreditExplanation/CreditExplanation.native.test.tsx
+++ b/src/features/profile/components/CreditExplanation/CreditExplanation.native.test.tsx
@@ -1,11 +1,13 @@
import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { CreditExplanation } from 'features/profile/components/CreditExplanation/CreditExplanation'
import { analytics } from 'libs/analytics/provider'
+import { mockSettings } from 'tests/mockSettings'
import { act, fireEvent, render, screen } from 'tests/utils'
+mockSettings()
+
describe('', () => {
it('should render correctly for expired deposit', () => {
render()
@@ -37,7 +39,7 @@ describe('', () => {
describe('With redirection to tutorial', () => {
beforeEach(() => {
- setSettings()
+ mockSettings()
})
it('should navigate to tutorial when button is triggered', async () => {
@@ -49,7 +51,7 @@ describe('', () => {
})
it('should navigate to tutorial CreditV3 when button is triggered and enableCreditV3 is true', async () => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
render()
const explanationButton = screen.getByTestId('Comment ça marche\u00a0?')
diff --git a/src/features/profile/components/CreditExplanation/CreditExplanation.tsx b/src/features/profile/components/CreditExplanation/CreditExplanation.tsx
index cdff4afb1dc..3b597b08661 100644
--- a/src/features/profile/components/CreditExplanation/CreditExplanation.tsx
+++ b/src/features/profile/components/CreditExplanation/CreditExplanation.tsx
@@ -1,7 +1,7 @@
import React, { FunctionComponent } from 'react'
import styled from 'styled-components/native'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { ExpiredCreditModal } from 'features/profile/components/Modals/ExpiredCreditModal'
import { TutorialTypes } from 'features/tutorial/enums'
import { analytics } from 'libs/analytics/provider'
@@ -21,7 +21,7 @@ interface Props {
export const CreditExplanation: FunctionComponent = ({ age, isDepositExpired }) => {
const { visible, showModal, hideModal } = useModal(false)
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const navigateTo15to18: InternalNavigationProps['navigateTo'] = enableCreditV3
diff --git a/src/features/profile/components/EmptyCredit/EmptyCredit.native.test.tsx b/src/features/profile/components/EmptyCredit/EmptyCredit.native.test.tsx
index c5ee7a17c10..76cc46156ba 100644
--- a/src/features/profile/components/EmptyCredit/EmptyCredit.native.test.tsx
+++ b/src/features/profile/components/EmptyCredit/EmptyCredit.native.test.tsx
@@ -4,8 +4,10 @@ import { navigate } from '__mocks__/@react-navigation/native'
import { EmptyCredit } from 'features/profile/components/EmptyCredit/EmptyCredit'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
+mockSettings()
jest.mock('libs/firebase/remoteConfig/RemoteConfigProvider', () => ({
useRemoteConfigContext: jest
.fn()
diff --git a/src/features/profile/components/Header/CreditHeader/CreditHeader.native.test.tsx b/src/features/profile/components/Header/CreditHeader/CreditHeader.native.test.tsx
index 93d87ec6618..9787045f494 100644
--- a/src/features/profile/components/Header/CreditHeader/CreditHeader.native.test.tsx
+++ b/src/features/profile/components/Header/CreditHeader/CreditHeader.native.test.tsx
@@ -15,6 +15,7 @@ import * as ProfileUtils from 'features/profile/helpers/useIsUserUnderageBenefic
import { formatToSlashedFrenchDate, setDateOneDayEarlier } from 'libs/dates'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
jest.mock('features/profile/api/useResetRecreditAmountToShow')
@@ -34,6 +35,7 @@ const today = '2023-02-10T21:00:00'
const tomorrow = '2023-02-11T21:00:00'
jest.mock('libs/firebase/analytics/analytics')
+mockSettings()
describe('CreditHeader', () => {
beforeEach(() => {
diff --git a/src/features/profile/components/Header/LoggedOutHeader/LoggedOutHeader.native.test.tsx b/src/features/profile/components/Header/LoggedOutHeader/LoggedOutHeader.native.test.tsx
index 6c0d0c55d72..369f36dca61 100644
--- a/src/features/profile/components/Header/LoggedOutHeader/LoggedOutHeader.native.test.tsx
+++ b/src/features/profile/components/Header/LoggedOutHeader/LoggedOutHeader.native.test.tsx
@@ -1,16 +1,17 @@
import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { render, userEvent, screen } from 'tests/utils'
import { LoggedOutHeader } from './LoggedOutHeader'
jest.mock('libs/firebase/analytics/analytics')
+mockSettings()
const user = userEvent.setup()
jest.useFakeTimers()
@@ -60,7 +61,7 @@ describe('LoggedOutHeader', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should display subtitle with credit V3', () => {
diff --git a/src/features/profile/components/Header/LoggedOutHeader/LoggedOutHeader.tsx b/src/features/profile/components/Header/LoggedOutHeader/LoggedOutHeader.tsx
index 411fce611a3..bae088279a4 100644
--- a/src/features/profile/components/Header/LoggedOutHeader/LoggedOutHeader.tsx
+++ b/src/features/profile/components/Header/LoggedOutHeader/LoggedOutHeader.tsx
@@ -2,7 +2,7 @@ import React, { FunctionComponent } from 'react'
import styled, { useTheme } from 'styled-components/native'
import { AuthenticationButton } from 'features/auth/components/AuthenticationButton/AuthenticationButton'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { HeaderWithGreyContainer } from 'features/profile/components/Header/HeaderWithGreyContainer/HeaderWithGreyContainer'
import { analytics } from 'libs/analytics/provider'
@@ -23,7 +23,7 @@ const onBeforeNavigate = () => {
export const LoggedOutHeader: FunctionComponent = ({ showForceUpdateBanner }) => {
const isPassForAllEnabled = useFeatureFlag(RemoteStoreFeatureFlags.ENABLE_PASS_FOR_ALL)
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const subtitle = `Tu as ${enableCreditV3 ? '17 ou 18' : 'entre 15 et 18'} ans\u00a0?`
const bodyText = `Identifie-toi pour découvrir des offres culturelles et bénéficier de ton crédit si tu as ${enableCreditV3 ? '17 ou 18' : 'entre 15 et 18'} ans.`
diff --git a/src/features/profile/components/Header/ProfileHeader/ProfileHeader.web.test.tsx b/src/features/profile/components/Header/ProfileHeader/ProfileHeader.web.test.tsx
index 3921e3110b3..e4837c3df62 100644
--- a/src/features/profile/components/Header/ProfileHeader/ProfileHeader.web.test.tsx
+++ b/src/features/profile/components/Header/ProfileHeader/ProfileHeader.web.test.tsx
@@ -5,10 +5,12 @@ import { CurrencyEnum, UserProfileResponse, YoungStatusType } from 'api/gen'
import { ProfileHeader } from 'features/profile/components/Header/ProfileHeader/ProfileHeader'
import { domains_credit_v1 } from 'features/profile/fixtures/domainsCredit'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils/web'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
const user: UserProfileResponse = {
bookedOffers: {},
diff --git a/src/features/profile/pages/Accessibility/AccessibilityActionPlan.web.test.tsx b/src/features/profile/pages/Accessibility/AccessibilityActionPlan.web.test.tsx
index 8b8042a16e5..321a356db88 100644
--- a/src/features/profile/pages/Accessibility/AccessibilityActionPlan.web.test.tsx
+++ b/src/features/profile/pages/Accessibility/AccessibilityActionPlan.web.test.tsx
@@ -1,5 +1,6 @@
import React from 'react'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
import { AccessibilityActionPlan } from './AccessibilityActionPlan'
@@ -14,6 +15,7 @@ jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper')
jest.mock('react-native/Libraries/Alert/Alert', () => ({
alert: jest.fn(),
}))
+mockSettings()
const TEST_TIMEOUT_IN_MS = 15000
jest.setTimeout(TEST_TIMEOUT_IN_MS)
diff --git a/src/features/profile/pages/Accessibility/AccessibilityDeclarationWeb.web.test.tsx b/src/features/profile/pages/Accessibility/AccessibilityDeclarationWeb.web.test.tsx
index 95e648eac6b..b96732d95d6 100644
--- a/src/features/profile/pages/Accessibility/AccessibilityDeclarationWeb.web.test.tsx
+++ b/src/features/profile/pages/Accessibility/AccessibilityDeclarationWeb.web.test.tsx
@@ -1,11 +1,13 @@
import React from 'react'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
import { AccessibilityDeclarationWeb } from './AccessibilityDeclarationWeb'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('', () => {
describe('Accessibility', () => {
diff --git a/src/features/profile/pages/ChangeCity/ChangeCity.web.test.tsx b/src/features/profile/pages/ChangeCity/ChangeCity.web.test.tsx
index ca558d951ab..576aec0ec19 100644
--- a/src/features/profile/pages/ChangeCity/ChangeCity.web.test.tsx
+++ b/src/features/profile/pages/ChangeCity/ChangeCity.web.test.tsx
@@ -1,6 +1,7 @@
import React from 'react'
import { ChangeCity } from 'features/profile/pages/ChangeCity/ChangeCity'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { checkAccessibilityFor, render, screen, waitFor } from 'tests/utils/web'
@@ -12,6 +13,7 @@ jest.mock('uuid', () => ({
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('ui/theme/customFocusOutline/customFocusOutline')
+mockSettings()
describe('', () => {
it('should render correctly', () => {
diff --git a/src/features/profile/pages/DeleteProfile/DeactivateProfileSuccess.native.test.tsx b/src/features/profile/pages/DeleteProfile/DeactivateProfileSuccess.native.test.tsx
index a49257b0034..89415b0b543 100644
--- a/src/features/profile/pages/DeleteProfile/DeactivateProfileSuccess.native.test.tsx
+++ b/src/features/profile/pages/DeleteProfile/DeactivateProfileSuccess.native.test.tsx
@@ -2,11 +2,11 @@ import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
import * as LogoutRoutine from 'features/auth/helpers/useLogoutRoutine'
-import { setSettings } from 'features/auth/tests/setSettings'
import { navigateToHomeConfig } from 'features/navigation/helpers/navigateToHome'
import { navigateFromRef } from 'features/navigation/navigationRef'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { analytics } from 'libs/analytics/provider'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen, waitFor } from 'tests/utils'
import { DeactivateProfileSuccess } from './DeactivateProfileSuccess'
@@ -27,7 +27,7 @@ jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => {
describe('DeactivateProfileSuccess component', () => {
beforeEach(() => {
- setSettings()
+ mockSettings()
})
it('should render delete profile success', () => {
diff --git a/src/features/profile/pages/DeleteProfile/DeactivateProfileSuccess.tsx b/src/features/profile/pages/DeleteProfile/DeactivateProfileSuccess.tsx
index 73e67eeb513..8f7efb11fb8 100644
--- a/src/features/profile/pages/DeleteProfile/DeactivateProfileSuccess.tsx
+++ b/src/features/profile/pages/DeleteProfile/DeactivateProfileSuccess.tsx
@@ -1,7 +1,7 @@
import React, { useEffect } from 'react'
import styled from 'styled-components/native'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { useLogoutRoutine } from 'features/auth/helpers/useLogoutRoutine'
import { navigateToHomeConfig } from 'features/navigation/helpers/navigateToHome'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
@@ -17,7 +17,7 @@ import { Spacer, TypoDS } from 'ui/theme'
export function DeactivateProfileSuccess() {
const signOut = useLogoutRoutine()
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const reactivationLimit = settings?.accountUnsuspensionLimit
useEffect(() => {
diff --git a/src/features/profile/pages/DeleteProfileReason/DeleteProfileReason.native.test.tsx b/src/features/profile/pages/DeleteProfileReason/DeleteProfileReason.native.test.tsx
index c1894070256..4507e723e5e 100644
--- a/src/features/profile/pages/DeleteProfileReason/DeleteProfileReason.native.test.tsx
+++ b/src/features/profile/pages/DeleteProfileReason/DeleteProfileReason.native.test.tsx
@@ -2,11 +2,11 @@ import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
import * as LogoutRoutine from 'features/auth/helpers/useLogoutRoutine'
-import { setSettings } from 'features/auth/tests/setSettings'
import { DeleteProfileReason } from 'features/profile/pages/DeleteProfileReason/DeleteProfileReason'
import { beneficiaryUser, nonBeneficiaryUser } from 'fixtures/user'
import { analytics } from 'libs/analytics/provider'
import { mockAuthContextWithUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen, waitFor } from 'tests/utils'
jest.mock('features/navigation/helpers/navigateToHome')
@@ -30,7 +30,7 @@ jest.useFakeTimers()
describe('', () => {
beforeEach(() => {
jest.setSystemTime(new Date('2020-01-01'))
- setSettings()
+ mockSettings()
})
it('should match snapshot', () => {
diff --git a/src/features/profile/pages/Profile.native.test.tsx b/src/features/profile/pages/Profile.native.test.tsx
index 9c1bb3bddda..bafb8fbb9a1 100644
--- a/src/features/profile/pages/Profile.native.test.tsx
+++ b/src/features/profile/pages/Profile.native.test.tsx
@@ -6,7 +6,6 @@ import { navigate } from '__mocks__/@react-navigation/native'
import { SubscriptionStepperResponseV2 } from 'api/gen'
import * as Auth from 'features/auth/context/AuthContext'
import { CURRENT_DATE } from 'features/auth/fixtures/fixtures'
-import { setSettings } from 'features/auth/tests/setSettings'
import { FavoritesWrapper } from 'features/favorites/context/FavoritesWrapper'
import { initialFavoritesState } from 'features/favorites/context/reducer'
import { subscriptionStepperFixture } from 'features/identityCheck/fixtures/subscriptionStepperFixture'
@@ -28,6 +27,7 @@ import {
GeolocPositionError,
} from 'libs/location'
import * as useNetInfoContextDefault from 'libs/network/NetInfoWrapper'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import {
@@ -298,7 +298,7 @@ describe('Profile component', () => {
describe('help section', () => {
beforeEach(() => {
- setSettings()
+ mockSettings()
})
it('should navigate to EligibleUserAgeSelection when tutorial row is clicked and user is not logged in', async () => {
@@ -324,7 +324,7 @@ describe('Profile component', () => {
})
it('should navigate to Age Information V3 when tutorial row is clicked, user is logged in and enableCreditV3 is true', async () => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
mockdate.set(CURRENT_DATE)
renderProfile()
diff --git a/src/features/profile/pages/Profile.tsx b/src/features/profile/pages/Profile.tsx
index 71114c0aeda..a737a94ae63 100644
--- a/src/features/profile/pages/Profile.tsx
+++ b/src/features/profile/pages/Profile.tsx
@@ -5,7 +5,7 @@ import styled from 'styled-components/native'
import { v4 as uuidv4 } from 'uuid'
import { useAuthContext } from 'features/auth/context/AuthContext'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { useLogoutRoutine } from 'features/auth/helpers/useLogoutRoutine'
import { useFavoritesState } from 'features/favorites/context/FavoritesWrapper'
import { ProfileHeader } from 'features/profile/components/Header/ProfileHeader/ProfileHeader'
@@ -65,7 +65,7 @@ const OnlineProfile: React.FC = () => {
const { dispatch: favoritesDispatch } = useFavoritesState()
const { isLoggedIn, user } = useAuthContext()
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const signOut = useLogoutRoutine()
const version = useVersion()
diff --git a/src/features/profile/pages/Profile.web.test.tsx b/src/features/profile/pages/Profile.web.test.tsx
index 7b4bb2ba092..f47dc1bedbb 100644
--- a/src/features/profile/pages/Profile.web.test.tsx
+++ b/src/features/profile/pages/Profile.web.test.tsx
@@ -1,7 +1,7 @@
import React from 'react'
-import { setSettings } from 'features/auth/tests/setSettings'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { checkAccessibilityFor, render, screen } from 'tests/utils/web'
import * as useVersion from 'ui/hooks/useVersion.web'
@@ -14,6 +14,7 @@ jest.mock('features/favorites/context/FavoritesWrapper')
jest.mock('libs/firebase/analytics/analytics')
jest.mock('ui/theme/customFocusOutline/customFocusOutline')
+mockSettings()
jest.spyOn(useVersion, 'useVersion').mockReturnValue('Version\u00A01.10.5')
@@ -65,7 +66,7 @@ describe('', () => {
describe('if enableCreditV3 is true', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should see "17 ou 18"', async () => {
@@ -83,7 +84,7 @@ describe('', () => {
describe('if enableCreditV3 is false', () => {
beforeEach(() => {
- setSettings()
+ mockSettings()
})
it('should see "15 et 18"', async () => {
diff --git a/src/features/reactions/components/ReactionChoiceModalBodyWithRedirection/ReactionChoiceModalBodyWithRedirection.native.test.tsx b/src/features/reactions/components/ReactionChoiceModalBodyWithRedirection/ReactionChoiceModalBodyWithRedirection.native.test.tsx
index 7032aa14859..788e85cd9d0 100644
--- a/src/features/reactions/components/ReactionChoiceModalBodyWithRedirection/ReactionChoiceModalBodyWithRedirection.native.test.tsx
+++ b/src/features/reactions/components/ReactionChoiceModalBodyWithRedirection/ReactionChoiceModalBodyWithRedirection.native.test.tsx
@@ -2,8 +2,11 @@ import React from 'react'
import { CategoryIdEnum } from 'api/gen'
import { ReactionChoiceModalBodyWithRedirection } from 'features/reactions/components/ReactionChoiceModalBodyWithRedirection/ReactionChoiceModalBodyWithRedirection'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
+mockSettings()
+
describe('ReactionChoiceModalBodyWithRedirection', () => {
it('should display image container when there is at least one offer booked with an image', () => {
render(
diff --git a/src/features/search/api/useSearchResults/useSearchResults.native.test.ts b/src/features/search/api/useSearchResults/useSearchResults.native.test.ts
index 441a8451272..6fae389e2a1 100644
--- a/src/features/search/api/useSearchResults/useSearchResults.native.test.ts
+++ b/src/features/search/api/useSearchResults/useSearchResults.native.test.ts
@@ -19,12 +19,14 @@ import {
} from 'libs/algolia/fixtures/algoliaFixtures'
import { AlgoliaVenue } from 'libs/algolia/types'
import { GeoCoordinates, GeolocPermissionState, GeolocationError } from 'libs/location'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, renderHook, waitFor } from 'tests/utils'
const { multipleQueries } = algoliasearch()
jest.mock('libs/firebase/analytics/analytics')
+mockSettings()
const DEFAULT_POSITION = { latitude: 66, longitude: 66 } as GeoCoordinates | null
const mockPositionError = null as GeolocationError | null
diff --git a/src/features/search/components/SearchBox/SearchBox.native.test.tsx b/src/features/search/components/SearchBox/SearchBox.native.test.tsx
index fcb2791bd22..8a5efe3ba43 100644
--- a/src/features/search/components/SearchBox/SearchBox.native.test.tsx
+++ b/src/features/search/components/SearchBox/SearchBox.native.test.tsx
@@ -3,7 +3,6 @@ import { v4 as uuidv4 } from 'uuid'
import { navigate, useRoute } from '__mocks__/@react-navigation/native'
import { SearchGroupNameEnumv2 } from 'api/gen'
-import { setSettings } from 'features/auth/tests/setSettings'
import { navigationRef } from 'features/navigation/navigationRef'
import * as useGoBack from 'features/navigation/useGoBack'
import { initialSearchState } from 'features/search/context/reducer'
@@ -17,6 +16,7 @@ import * as useRemoteConfigContextModule from 'libs/firebase/remoteConfig/Remote
import { GeoCoordinates, Position } from 'libs/location'
import { LocationLabel, LocationMode } from 'libs/location/types'
import { mockedSuggestedVenue } from 'libs/venue/fixtures/mockedSuggestedVenues'
+import { mockSettings } from 'tests/mockSettings'
import { act, render, screen, userEvent } from 'tests/utils'
import { SNACK_BAR_TIME_OUT } from 'ui/components/snackBar/SnackBarContext'
import { SnackBarHelperSettings } from 'ui/components/snackBar/types'
@@ -37,6 +37,7 @@ jest.mock('ui/components/snackBar/SnackBarContext', () => ({
showErrorSnackBar: jest.fn((props: SnackBarHelperSettings) => mockShowErrorSnackBar(props)),
}),
}))
+mockSettings()
const queryWithMoreThan150characters =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam non aliquet quam, at ultrices purus. Morbi velit orci, tincidunt sed erat sed efficitur.'
@@ -261,7 +262,7 @@ describe('SearchBox component', () => {
describe('Without autocomplete', () => {
beforeAll(() => {
- setSettings({ appEnableAutocomplete: false })
+ mockSettings({ appEnableAutocomplete: false })
})
it('should stay on the current view when focusing search input and being on the %s view', async () => {
@@ -324,11 +325,11 @@ describe('SearchBox component', () => {
describe('With autocomplete', () => {
beforeAll(() => {
- setSettings({ appEnableAutocomplete: true })
+ mockSettings({ appEnableAutocomplete: true })
})
afterAll(() => {
- setSettings()
+ mockSettings()
})
it('should unfocus from suggestion when being focus on the suggestions and press back button', async () => {
diff --git a/src/features/search/components/SearchBox/SearchBox.tsx b/src/features/search/components/SearchBox/SearchBox.tsx
index 2f8aa7d2ad7..3ac9db94bd0 100644
--- a/src/features/search/components/SearchBox/SearchBox.tsx
+++ b/src/features/search/components/SearchBox/SearchBox.tsx
@@ -14,7 +14,7 @@ import { v4 as uuidv4 } from 'uuid'
import { SearchGroupNameEnumv2 } from 'api/gen'
import { defaultDisabilitiesProperties } from 'features/accessibility/context/AccessibilityFiltersWrapper'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { homeNavConfig } from 'features/navigation/TabBar/helpers'
import { useGoBack } from 'features/navigation/useGoBack'
import { HiddenSuggestionsButton } from 'features/search/components/Buttons/HiddenSuggestionsButton'
@@ -78,7 +78,7 @@ export const SearchBox: React.FunctionComponent = ({
const debounceSetAutocompleteQuery = useRef(
debounce(setAutocompleteQuery, SEARCH_DEBOUNCE_MS)
).current
- const { data: appSettings } = useSettingsContext()
+ const { data: appSettings } = useSettings()
const appEnableAutocomplete = appSettings?.appEnableAutocomplete
const setQuery = useCallback(
diff --git a/src/features/search/components/SearchHeader/SearchHeader.native.test.tsx b/src/features/search/components/SearchHeader/SearchHeader.native.test.tsx
index 73d8da1200c..586e9bd927b 100644
--- a/src/features/search/components/SearchHeader/SearchHeader.native.test.tsx
+++ b/src/features/search/components/SearchHeader/SearchHeader.native.test.tsx
@@ -1,12 +1,12 @@
import React from 'react'
import { v4 as uuidv4 } from 'uuid'
-import { setSettings } from 'features/auth/tests/setSettings'
import { SearchHeader } from 'features/search/components/SearchHeader/SearchHeader'
import { initialSearchState } from 'features/search/context/reducer'
import * as useFilterCountAPI from 'features/search/helpers/useFilterCount/useFilterCount'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { LocationLabel } from 'libs/location/types'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, waitFor, within } from 'tests/utils'
jest.mock('libs/firebase/analytics/analytics')
@@ -55,7 +55,7 @@ jest.mock('features/navigation/TabBar/routes')
describe('SearchHeader component', () => {
beforeEach(() => {
- setSettings()
+ mockSettings()
setFeatureFlags()
})
diff --git a/src/features/search/components/SearchHeader/SearchHeader.web.test.tsx b/src/features/search/components/SearchHeader/SearchHeader.web.test.tsx
index f656c995519..d86add5eee1 100644
--- a/src/features/search/components/SearchHeader/SearchHeader.web.test.tsx
+++ b/src/features/search/components/SearchHeader/SearchHeader.web.test.tsx
@@ -5,6 +5,7 @@ import { v4 as uuidv4 } from 'uuid'
import { initialSearchState } from 'features/search/context/reducer'
import { ISearchContext } from 'features/search/context/SearchWrapper'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { act, render, screen, waitFor } from 'tests/utils/web'
import { SearchHeader } from './SearchHeader'
@@ -40,6 +41,8 @@ jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('features/navigation/TabBar/routes')
+mockSettings()
+
describe('SearchHeader component', () => {
beforeEach(() => {
setFeatureFlags()
diff --git a/src/features/search/components/SearchListHeader/SearchListHeader.native.test.tsx b/src/features/search/components/SearchListHeader/SearchListHeader.native.test.tsx
index 9e0e8ca31a2..3c258f17b73 100644
--- a/src/features/search/components/SearchListHeader/SearchListHeader.native.test.tsx
+++ b/src/features/search/components/SearchListHeader/SearchListHeader.native.test.tsx
@@ -17,10 +17,13 @@ import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { GeoCoordinates } from 'libs/location'
import { ILocationContext, LocationMode } from 'libs/location/types'
import { SuggestedPlace } from 'libs/place/types'
+import { mockSettings } from 'tests/mockSettings'
import { act, render, screen } from 'tests/utils'
import { SearchListHeader } from './SearchListHeader'
+mockSettings()
+
const searchId = uuidv4()
const mockUsePreviousRoute: jest.Mock | null> = usePreviousRoute
diff --git a/src/features/search/components/SearchListHeader/SearchListHeader.web.test.tsx b/src/features/search/components/SearchListHeader/SearchListHeader.web.test.tsx
index 7a3f45b9f24..ac80ec5d910 100644
--- a/src/features/search/components/SearchListHeader/SearchListHeader.web.test.tsx
+++ b/src/features/search/components/SearchListHeader/SearchListHeader.web.test.tsx
@@ -11,6 +11,7 @@ import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { GeoCoordinates } from 'libs/location'
import { ILocationContext, LocationMode } from 'libs/location/types'
import { SuggestedPlace } from 'libs/place/types'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils/web'
const searchId = uuidv4()
@@ -26,6 +27,8 @@ jest.mock('libs/location/LocationWrapper', () => ({
useLocation: () => mockUseLocation(),
}))
+mockSettings()
+
const kourou: SuggestedPlace = {
label: 'Kourou',
info: 'Guyane',
diff --git a/src/features/search/components/SearchResultsContent/SearchResultsContent.native.test.tsx b/src/features/search/components/SearchResultsContent/SearchResultsContent.native.test.tsx
index 79485b41006..cf6542796ab 100644
--- a/src/features/search/components/SearchResultsContent/SearchResultsContent.native.test.tsx
+++ b/src/features/search/components/SearchResultsContent/SearchResultsContent.native.test.tsx
@@ -24,6 +24,7 @@ import { SuggestedPlace } from 'libs/place/types'
import { mockedSuggestedVenue } from 'libs/venue/fixtures/mockedSuggestedVenues'
import { Offer } from 'shared/offer/types'
import { mockAuthContextWithUser, mockAuthContextWithoutUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, render, screen, userEvent, waitFor } from 'tests/utils'
import { theme } from 'theme'
@@ -39,6 +40,8 @@ jest.mock('features/search/context/SearchWrapper', () => ({
useSearch: () => mockUseSearch(),
}))
+mockSettings()
+
jest.mock('features/venueMap/useGetAllVenues')
const mockUseGetAllVenues = useGetAllVenues as jest.Mock
diff --git a/src/features/search/components/SearchVenueItems/SearchVenueItem.native.test.tsx b/src/features/search/components/SearchVenueItems/SearchVenueItem.native.test.tsx
index 1a4160d3cb6..a9cdb7af56f 100644
--- a/src/features/search/components/SearchVenueItems/SearchVenueItem.native.test.tsx
+++ b/src/features/search/components/SearchVenueItems/SearchVenueItem.native.test.tsx
@@ -7,6 +7,7 @@ import { AlgoliaVenue, LocationMode } from 'libs/algolia/types'
import { analytics } from 'libs/analytics/provider'
import { ILocationContext } from 'libs/location'
import { SuggestedPlace } from 'libs/place/types'
+import { mockSettings } from 'tests/mockSettings'
import { userEvent, render, screen } from 'tests/utils'
import { SearchVenueItem } from './SearchVenueItem'
@@ -71,6 +72,7 @@ const MUNICIPALITY_AROUND_PLACE_POSITION = {
geolocPosition: undefined,
}
+mockSettings()
const mockUseLocation = jest.fn((): Partial => EVERYWHERE_USER_POSITION)
jest.mock('libs/location', () => ({
useLocation: () => mockUseLocation(),
diff --git a/src/features/search/components/VenuePlaylist/VenuePlaylist.native.test.tsx b/src/features/search/components/VenuePlaylist/VenuePlaylist.native.test.tsx
index 92bc83c4601..68dcbba8c57 100644
--- a/src/features/search/components/VenuePlaylist/VenuePlaylist.native.test.tsx
+++ b/src/features/search/components/VenuePlaylist/VenuePlaylist.native.test.tsx
@@ -10,9 +10,11 @@ import { venueTypeCodeActions } from 'features/venueMap/store/venueTypeCodeStore
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
import * as useModalAPI from 'ui/components/modals/useModal'
+mockSettings()
const searchId = uuidv4()
const mockUseSearch = jest.fn(() => ({
searchState: { ...initialSearchState, searchId },
diff --git a/src/features/search/components/VenuePlaylist/VenuePlaylist.web.test.tsx b/src/features/search/components/VenuePlaylist/VenuePlaylist.web.test.tsx
index 7fc847406a0..49659e95ba0 100644
--- a/src/features/search/components/VenuePlaylist/VenuePlaylist.web.test.tsx
+++ b/src/features/search/components/VenuePlaylist/VenuePlaylist.web.test.tsx
@@ -6,6 +6,7 @@ import { initialSearchState } from 'features/search/context/reducer'
import { mockAlgoliaVenues } from 'features/search/fixtures/mockAlgoliaVenues'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils/web'
const searchId = uuidv4()
@@ -21,6 +22,8 @@ jest.mock('react-native-safe-area-context', () => ({
useSafeAreaInsets: () => ({ bottom: 16, right: 16, left: 16, top: 16 }),
}))
+mockSettings()
+
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
describe('', () => {
diff --git a/src/features/search/components/sections/Price/Price.native.test.tsx b/src/features/search/components/sections/Price/Price.native.test.tsx
index 9402b227987..6c9d0d864af 100644
--- a/src/features/search/components/sections/Price/Price.native.test.tsx
+++ b/src/features/search/components/sections/Price/Price.native.test.tsx
@@ -5,11 +5,13 @@ import { initialSearchState } from 'features/search/context/reducer'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { Currency } from 'shared/currency/useGetCurrencyToDisplay'
import { DEFAULT_PACIFIC_FRANC_TO_EURO_RATE } from 'shared/exchangeRates/defaultRateValues'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
let mockSearchState = initialSearchState
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
jest.mock('features/search/context/SearchWrapper', () => ({
useSearch: () => ({
diff --git a/src/features/search/pages/SearchLanding/SearchLanding.native.test.tsx b/src/features/search/pages/SearchLanding/SearchLanding.native.test.tsx
index 2d1afabb302..a37c88671a3 100644
--- a/src/features/search/pages/SearchLanding/SearchLanding.native.test.tsx
+++ b/src/features/search/pages/SearchLanding/SearchLanding.native.test.tsx
@@ -18,9 +18,11 @@ import { LocationMode } from 'libs/location/types'
import * as useNetInfoContextDefault from 'libs/network/NetInfoWrapper'
import { SuggestedPlace } from 'libs/place/types'
import { mockedSuggestedVenue } from 'libs/venue/fixtures/mockedSuggestedVenues'
+import { mockSettings } from 'tests/mockSettings'
import { act, fireEvent, render, screen } from 'tests/utils'
const venue = mockedSuggestedVenue
+mockSettings()
let mockSearchState: SearchState = {
...initialSearchState,
diff --git a/src/features/search/pages/SearchLanding/SearchLanding.web.test.tsx b/src/features/search/pages/SearchLanding/SearchLanding.web.test.tsx
index 7f6fc35da77..f31115b5596 100644
--- a/src/features/search/pages/SearchLanding/SearchLanding.web.test.tsx
+++ b/src/features/search/pages/SearchLanding/SearchLanding.web.test.tsx
@@ -9,6 +9,7 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import * as useNetInfoContextDefault from 'libs/network/NetInfoWrapper'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
import { mockedSuggestedVenue } from 'libs/venue/fixtures/mockedSuggestedVenues'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { checkAccessibilityFor, render, screen } from 'tests/utils/web'
@@ -16,6 +17,7 @@ import { checkAccessibilityFor, render, screen } from 'tests/utils/web'
jest.setTimeout(20000) // to avoid exceeded timeout
jest.mock('libs/network/NetInfoWrapper')
+mockSettings()
const venue = mockedSuggestedVenue
diff --git a/src/features/search/pages/SearchResults/SearchResults.native.test.tsx b/src/features/search/pages/SearchResults/SearchResults.native.test.tsx
index 7549ee98a8a..fff0c87c5cb 100644
--- a/src/features/search/pages/SearchResults/SearchResults.native.test.tsx
+++ b/src/features/search/pages/SearchResults/SearchResults.native.test.tsx
@@ -17,9 +17,12 @@ import { LocationMode } from 'libs/location/types'
import { useNetInfoContext as useNetInfoContextDefault } from 'libs/network/NetInfoWrapper'
import { SuggestedPlace } from 'libs/place/types'
import { mockedSuggestedVenue } from 'libs/venue/fixtures/mockedSuggestedVenues'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, screen, userEvent, waitFor } from 'tests/utils'
+mockSettings()
+
const venue = mockedSuggestedVenue
const mockSearchState: SearchState = {
diff --git a/src/features/search/pages/SearchResults/SearchResults.web.test.tsx b/src/features/search/pages/SearchResults/SearchResults.web.test.tsx
index 48056bee7b2..07035897d5a 100644
--- a/src/features/search/pages/SearchResults/SearchResults.web.test.tsx
+++ b/src/features/search/pages/SearchResults/SearchResults.web.test.tsx
@@ -12,6 +12,7 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import * as useNetInfoContextDefault from 'libs/network/NetInfoWrapper'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, checkAccessibilityFor, render } from 'tests/utils/web'
@@ -19,6 +20,7 @@ import { act, checkAccessibilityFor, render } from 'tests/utils/web'
jest.mock('libs/network/NetInfoWrapper')
jest.mock('features/auth/context/AuthContext')
+mockSettings()
const mockStateDispatch = jest.fn()
const initialMockUseSearchResults = { searchState: initialSearchState, dispatch: mockStateDispatch }
diff --git a/src/features/search/pages/ThematicSearch/ThematicSearch.web.test.tsx b/src/features/search/pages/ThematicSearch/ThematicSearch.web.test.tsx
index 036aecce864..3554ef439bb 100644
--- a/src/features/search/pages/ThematicSearch/ThematicSearch.web.test.tsx
+++ b/src/features/search/pages/ThematicSearch/ThematicSearch.web.test.tsx
@@ -10,6 +10,7 @@ import { env } from 'libs/environment/env'
import { LocationMode } from 'libs/location/types'
import * as useNetInfoContextDefault from 'libs/network/NetInfoWrapper'
import { PLACEHOLDER_DATA } from 'libs/subcategories/placeholderData'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { checkAccessibilityFor, render, screen } from 'tests/utils/web'
@@ -17,6 +18,7 @@ import { checkAccessibilityFor, render, screen } from 'tests/utils/web'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('features/navigation/TabBar/routes')
+mockSettings()
const mockDispatch = jest.fn()
diff --git a/src/features/search/pages/ThematicSearch/api/useThematicSearchPlaylists.native.test.ts b/src/features/search/pages/ThematicSearch/api/useThematicSearchPlaylists.native.test.ts
index 3a75aa3f214..d25963defc4 100644
--- a/src/features/search/pages/ThematicSearch/api/useThematicSearchPlaylists.native.test.ts
+++ b/src/features/search/pages/ThematicSearch/api/useThematicSearchPlaylists.native.test.ts
@@ -20,6 +20,7 @@ const defaultThematicSearchOffer = mockBuilder.searchResponseOffer({})
const fetchThematicSearchPlaylistsOffers = jest.fn().mockResolvedValue([defaultThematicSearchOffer])
jest.mock('libs/firebase/analytics/analytics')
+jest.mock('features/auth/context/useSettings')
const PLAYLISTS_TITLES = ['Titre de la playlist - 1', 'Titre de la playlist - 2']
@@ -60,16 +61,5 @@ it('should only return offers with images', async () => {
await act(() => {})
- expect(result).toEqual({
- current: {
- playlists: [
- {
- title: PLAYLISTS_TITLES[0],
- offers: {
- hits: [OFFER_WITH_IMAGE],
- },
- },
- ],
- },
- })
+ expect(result.current.playlists[0]?.offers.hits[0]?.objectID).toBe(OFFER_WITH_IMAGE?.objectID)
})
diff --git a/src/features/search/pages/modals/PriceModal/PriceModal.native.test.tsx b/src/features/search/pages/modals/PriceModal/PriceModal.native.test.tsx
index 0718f39de06..52085a11ecd 100644
--- a/src/features/search/pages/modals/PriceModal/PriceModal.native.test.tsx
+++ b/src/features/search/pages/modals/PriceModal/PriceModal.native.test.tsx
@@ -9,11 +9,13 @@ import { SearchState } from 'features/search/types'
import { beneficiaryUser } from 'fixtures/user'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { convertCentsToEuros } from 'libs/parsers/pricesConversion'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent, waitFor } from 'tests/utils'
import { PriceModal, PriceModalProps } from './PriceModal'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
const searchId = uuidv4()
const searchState: SearchState = { ...initialSearchState, searchId }
diff --git a/src/features/search/pages/modals/PriceModal/PriceModal.web.test.tsx b/src/features/search/pages/modals/PriceModal/PriceModal.web.test.tsx
index a2847aa8bde..aaba5c24176 100644
--- a/src/features/search/pages/modals/PriceModal/PriceModal.web.test.tsx
+++ b/src/features/search/pages/modals/PriceModal/PriceModal.web.test.tsx
@@ -4,6 +4,7 @@ import { initialSearchState } from 'features/search/context/reducer'
import { FilterBehaviour } from 'features/search/enums'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { act, checkAccessibilityFor, render, screen } from 'tests/utils/web'
import { PriceModal } from './PriceModal'
@@ -11,6 +12,7 @@ import { PriceModal } from './PriceModal'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('features/auth/context/AuthContext')
+mockSettings()
const mockSearchState = initialSearchState
jest.mock('features/search/context/SearchWrapper', () => ({
diff --git a/src/features/subscription/page/OnboardingSubscription.web.test.tsx b/src/features/subscription/page/OnboardingSubscription.web.test.tsx
index df6f0e574f5..6112f92e3de 100644
--- a/src/features/subscription/page/OnboardingSubscription.web.test.tsx
+++ b/src/features/subscription/page/OnboardingSubscription.web.test.tsx
@@ -1,12 +1,14 @@
import React from 'react'
import { OnboardingSubscription } from 'features/subscription/page/OnboardingSubscription'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, checkAccessibilityFor, render, screen } from 'tests/utils/web'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('ui/theme/customFocusOutline/customFocusOutline')
+mockSettings()
describe('OnboardingSubscription', () => {
describe('Accessibility', () => {
diff --git a/src/features/tutorial/components/onboarding/OnboardingTimeline.native.test.tsx b/src/features/tutorial/components/onboarding/OnboardingTimeline.native.test.tsx
index 28ec0e50a49..4c82751cfa9 100644
--- a/src/features/tutorial/components/onboarding/OnboardingTimeline.native.test.tsx
+++ b/src/features/tutorial/components/onboarding/OnboardingTimeline.native.test.tsx
@@ -1,14 +1,15 @@
import React from 'react'
-import { setSettings } from 'features/auth/tests/setSettings'
import { OnboardingTimeline } from 'features/tutorial/components/onboarding/OnboardingTimeline'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { useDepositAmountsByAge } from 'shared/user/useDepositAmountsByAge'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
jest.mock('shared/user/useDepositAmountsByAge')
const mockUseDepositAmountsByAge = useDepositAmountsByAge as jest.Mock
mockUseDepositAmountsByAge.mockReturnValue({ eighteenYearsOldDeposit: '300 €' })
+mockSettings()
describe('OnboardingTimeline', () => {
describe('when enableCreditV3 not activated', () => {
@@ -57,7 +58,7 @@ describe('OnboardingTimeline', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should not display fifteen years old block', () => {
diff --git a/src/features/tutorial/components/onboarding/OnboardingTimeline.tsx b/src/features/tutorial/components/onboarding/OnboardingTimeline.tsx
index e2d3a3ef4c2..a2bb4084c90 100644
--- a/src/features/tutorial/components/onboarding/OnboardingTimeline.tsx
+++ b/src/features/tutorial/components/onboarding/OnboardingTimeline.tsx
@@ -1,7 +1,7 @@
import React, { FunctionComponent } from 'react'
import styled from 'styled-components/native'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { CreditComponentProps, CreditTimeline } from 'features/tutorial/components/CreditTimeline'
import { TutorialTypes } from 'features/tutorial/enums'
import { useDepositAmountsByAge } from 'shared/user/useDepositAmountsByAge'
@@ -12,7 +12,7 @@ interface Props {
}
export const OnboardingTimeline: FunctionComponent = ({ age }) => {
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const stepperPropsMapping = enableCreditV3 ? stepperPropsMappingV2 : stepperPropsMappingV1
diff --git a/src/features/tutorial/components/profileTutorial/EighteenBlockDescription.native.test.tsx b/src/features/tutorial/components/profileTutorial/EighteenBlockDescription.native.test.tsx
index d741964fdab..bb8bc6e292a 100644
--- a/src/features/tutorial/components/profileTutorial/EighteenBlockDescription.native.test.tsx
+++ b/src/features/tutorial/components/profileTutorial/EighteenBlockDescription.native.test.tsx
@@ -4,8 +4,10 @@ import { EighteenBlockDescription } from 'features/tutorial/components/profileTu
import { beneficiaryUser, nonBeneficiaryUser } from 'fixtures/user'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
+mockSettings()
const mockUseAuthContext = jest.fn().mockReturnValue({ isLoggedIn: false, user: undefined })
jest.mock('features/auth/context/AuthContext', () => ({
useAuthContext: () => mockUseAuthContext(),
diff --git a/src/features/tutorial/components/profileTutorial/EligibleFooter.native.test.tsx b/src/features/tutorial/components/profileTutorial/EligibleFooter.native.test.tsx
index c186ac9b85b..d5df8f06a3e 100644
--- a/src/features/tutorial/components/profileTutorial/EligibleFooter.native.test.tsx
+++ b/src/features/tutorial/components/profileTutorial/EligibleFooter.native.test.tsx
@@ -4,8 +4,11 @@ import { navigate } from '__mocks__/@react-navigation/native'
import { EligibleFooter } from 'features/tutorial/components/profileTutorial/EligibleFooter'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
+mockSettings()
+
describe('', () => {
beforeEach(() => {
setFeatureFlags([RemoteStoreFeatureFlags.ENABLE_PACIFIC_FRANC_CURRENCY])
diff --git a/src/features/tutorial/context/OnboardingWrapper.native.test.tsx b/src/features/tutorial/context/OnboardingWrapper.native.test.tsx
index e81ec29ecba..77a806bb462 100644
--- a/src/features/tutorial/context/OnboardingWrapper.native.test.tsx
+++ b/src/features/tutorial/context/OnboardingWrapper.native.test.tsx
@@ -4,10 +4,12 @@ import {
} from 'features/tutorial/context/OnboardingWrapper'
import { NonEligible, TutorialTypes } from 'features/tutorial/enums'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { renderHook, act } from 'tests/utils'
const mockShowModal = jest.fn()
+mockSettings()
jest.mock('ui/components/modals/useModal', () => ({
useModal: () => ({
visible: false,
diff --git a/src/features/tutorial/pages/AgeSelectionFork.native.test.tsx b/src/features/tutorial/pages/AgeSelectionFork.native.test.tsx
index b9560da0c9d..fdfa0e31a32 100644
--- a/src/features/tutorial/pages/AgeSelectionFork.native.test.tsx
+++ b/src/features/tutorial/pages/AgeSelectionFork.native.test.tsx
@@ -2,17 +2,18 @@ import { StackScreenProps } from '@react-navigation/stack'
import React from 'react'
import { navigate, useRoute } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { navigateToHomeConfig } from 'features/navigation/helpers/navigateToHome'
import { TutorialRootStackParamList } from 'features/navigation/RootNavigator/types'
import { TutorialTypes, NonEligible } from 'features/tutorial/enums'
import { AgeSelectionFork } from 'features/tutorial/pages/AgeSelectionFork'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { storage } from 'libs/storage'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('features/navigation/helpers/navigateToHome')
+mockSettings()
const user = userEvent.setup()
jest.useFakeTimers()
@@ -133,7 +134,7 @@ describe('AgeSelectionFork', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
describe('onboarding', () => {
diff --git a/src/features/tutorial/pages/AgeSelectionFork.tsx b/src/features/tutorial/pages/AgeSelectionFork.tsx
index c49e5b44ee9..f6b0eab88a0 100644
--- a/src/features/tutorial/pages/AgeSelectionFork.tsx
+++ b/src/features/tutorial/pages/AgeSelectionFork.tsx
@@ -2,7 +2,7 @@ import { StackScreenProps } from '@react-navigation/stack'
import React, { FunctionComponent, useCallback } from 'react'
import styled from 'styled-components/native'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { navigateToHomeConfig } from 'features/navigation/helpers/navigateToHome'
import { TutorialRootStackParamList } from 'features/navigation/RootNavigator/types'
import { AgeButton } from 'features/tutorial/components/AgeButton'
@@ -26,7 +26,7 @@ type AgeButtonProps = {
type Props = StackScreenProps
export const AgeSelectionFork: FunctionComponent = ({ route }: Props) => {
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const type = route.params.type
diff --git a/src/features/tutorial/pages/AgeSelectionFork.web.test.tsx b/src/features/tutorial/pages/AgeSelectionFork.web.test.tsx
index d45f366ddd2..3b264a8e91e 100644
--- a/src/features/tutorial/pages/AgeSelectionFork.web.test.tsx
+++ b/src/features/tutorial/pages/AgeSelectionFork.web.test.tsx
@@ -2,15 +2,16 @@ import { StackScreenProps } from '@react-navigation/stack'
import React from 'react'
import { useRoute } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { TutorialRootStackParamList } from 'features/navigation/RootNavigator/types'
import { TutorialTypes } from 'features/tutorial/enums'
import { AgeSelectionFork } from 'features/tutorial/pages/AgeSelectionFork'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('AgeSelectionFork', () => {
beforeEach(() => {
@@ -28,7 +29,7 @@ describe('AgeSelectionFork', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should not have basic accessibility', async () => {
diff --git a/src/features/tutorial/pages/AgeSelectionOther.native.test.tsx b/src/features/tutorial/pages/AgeSelectionOther.native.test.tsx
index 60df0e167df..a980b225344 100644
--- a/src/features/tutorial/pages/AgeSelectionOther.native.test.tsx
+++ b/src/features/tutorial/pages/AgeSelectionOther.native.test.tsx
@@ -11,6 +11,7 @@ import { AgeSelectionOther } from 'features/tutorial/pages/AgeSelectionOther'
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { storage } from 'libs/storage'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
const mockShowModal = jest.fn()
@@ -21,6 +22,7 @@ jest.mock('ui/components/modals/useModal', () => ({
hideModal: jest.fn(),
}),
}))
+mockSettings()
jest.spyOn(useGoBack, 'useGoBack').mockReturnValue({
goBack: jest.fn(),
diff --git a/src/features/tutorial/pages/NonEligibleModal.native.test.tsx b/src/features/tutorial/pages/NonEligibleModal.native.test.tsx
index 7ca2657537f..f7ed5843343 100644
--- a/src/features/tutorial/pages/NonEligibleModal.native.test.tsx
+++ b/src/features/tutorial/pages/NonEligibleModal.native.test.tsx
@@ -1,12 +1,12 @@
import React from 'react'
-import { setSettings } from 'features/auth/tests/setSettings'
import { navigateToHome } from 'features/navigation/helpers/navigateToHome'
import * as NavigationHelpers from 'features/navigation/helpers/openUrl'
import { NonEligible, TutorialTypes } from 'features/tutorial/enums'
import { NonEligibleModal } from 'features/tutorial/pages/NonEligibleModal'
import { env } from 'libs/environment/fixtures'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { userEvent, render, screen } from 'tests/utils'
jest.mock('features/navigation/helpers/navigateToHome')
@@ -20,6 +20,7 @@ jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => {
return Component
}
})
+mockSettings()
const user = userEvent.setup()
jest.useFakeTimers()
@@ -103,7 +104,7 @@ describe('NonEligibleModal', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should display subtitle with credit V3', () => {
diff --git a/src/features/tutorial/pages/NonEligibleModal.tsx b/src/features/tutorial/pages/NonEligibleModal.tsx
index a623c142862..c2acf2ae90b 100644
--- a/src/features/tutorial/pages/NonEligibleModal.tsx
+++ b/src/features/tutorial/pages/NonEligibleModal.tsx
@@ -1,7 +1,7 @@
import React, { useCallback } from 'react'
import styled from 'styled-components/native'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { navigateToHome } from 'features/navigation/helpers/navigateToHome'
import { openUrl } from 'features/navigation/helpers/openUrl'
import { NonEligible, TutorialTypes } from 'features/tutorial/enums'
@@ -21,7 +21,7 @@ type Props = {
}
export const NonEligibleModal = ({ visible, userStatus, hideModal, type }: Props) => {
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const subtitle = `Tu peux bénéficier de ton crédit sur l’application à partir de tes ${enableCreditV3 ? '17' : '15'} ans.`
diff --git a/src/features/tutorial/pages/NonEligibleModal.web.test.tsx b/src/features/tutorial/pages/NonEligibleModal.web.test.tsx
index 80c43ec8ff4..de7792f4801 100644
--- a/src/features/tutorial/pages/NonEligibleModal.web.test.tsx
+++ b/src/features/tutorial/pages/NonEligibleModal.web.test.tsx
@@ -2,12 +2,14 @@ import React from 'react'
import { NonEligible, TutorialTypes } from 'features/tutorial/enums'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
import { NonEligibleModal } from './NonEligibleModal'
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
+mockSettings()
describe('', () => {
beforeEach(() => setFeatureFlags())
diff --git a/src/features/tutorial/pages/onboarding/OnboardingAgeInformation.native.test.tsx b/src/features/tutorial/pages/onboarding/OnboardingAgeInformation.native.test.tsx
index 4bfcfb690fe..f4a46dc6860 100644
--- a/src/features/tutorial/pages/onboarding/OnboardingAgeInformation.native.test.tsx
+++ b/src/features/tutorial/pages/onboarding/OnboardingAgeInformation.native.test.tsx
@@ -2,7 +2,6 @@ import { StackScreenProps } from '@react-navigation/stack'
import React from 'react'
import { navigate, reset } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { StepperOrigin, TutorialRootStackParamList } from 'features/navigation/RootNavigator/types'
import { homeNavConfig } from 'features/navigation/TabBar/helpers'
import * as useGoBack from 'features/navigation/useGoBack'
@@ -11,6 +10,7 @@ import { OnboardingAgeInformation } from 'features/tutorial/pages/onboarding/Onb
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { userEvent, render, screen } from 'tests/utils'
@@ -130,7 +130,7 @@ describe('OnboardingAgeInformation', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it.each(AGES)('should render correctly for %s-year-old', (age) => {
diff --git a/src/features/tutorial/pages/onboarding/OnboardingWelcome.native.test.tsx b/src/features/tutorial/pages/onboarding/OnboardingWelcome.native.test.tsx
index 5b291e6c74d..c1f44d12ae9 100644
--- a/src/features/tutorial/pages/onboarding/OnboardingWelcome.native.test.tsx
+++ b/src/features/tutorial/pages/onboarding/OnboardingWelcome.native.test.tsx
@@ -1,13 +1,13 @@
import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { OnboardingWelcome } from 'features/tutorial/pages/onboarding/OnboardingWelcome'
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { storage } from 'libs/storage'
+import { mockSettings } from 'tests/mockSettings'
import { userEvent, render, screen } from 'tests/utils'
jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => {
@@ -16,6 +16,8 @@ jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => {
}
})
+mockSettings()
+
const user = userEvent.setup()
jest.useFakeTimers()
@@ -103,7 +105,7 @@ describe('OnboardingWelcome', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should display subtitle with credit V3', () => {
diff --git a/src/features/tutorial/pages/onboarding/OnboardingWelcome.tsx b/src/features/tutorial/pages/onboarding/OnboardingWelcome.tsx
index 19a4f8a8da1..8b9ef991b31 100644
--- a/src/features/tutorial/pages/onboarding/OnboardingWelcome.tsx
+++ b/src/features/tutorial/pages/onboarding/OnboardingWelcome.tsx
@@ -4,7 +4,7 @@ import LinearGradient from 'react-native-linear-gradient'
import styled from 'styled-components/native'
import { AuthenticationButton } from 'features/auth/components/AuthenticationButton/AuthenticationButton'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { WELCOME_BACKGROUND_SOURCE } from 'features/tutorial/components/onboarding/welcomeBackground'
import { analytics } from 'libs/analytics/provider'
@@ -32,7 +32,7 @@ export const OnboardingWelcome: FunctionComponent = () => {
const disableActivation = useFeatureFlag(RemoteStoreFeatureFlags.DISABLE_ACTIVATION)
const navigateToScreen = disableActivation ? 'ForceUpdate' : 'OnboardingGeolocation'
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const subtitle = `Plus de 3 millions d’offres culturelles et un crédit à dépenser sur l’application si tu as ${enableCreditV3 ? '17 ou 18' : 'entre 15 et 18'} ans.`
diff --git a/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformation.native.test.tsx b/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformation.native.test.tsx
index 051284561f3..f109789a2a7 100644
--- a/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformation.native.test.tsx
+++ b/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformation.native.test.tsx
@@ -11,12 +11,14 @@ import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { mockAuthContextWithUser, mockAuthContextWithoutUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
import { ProfileTutorialAgeInformation } from './ProfileTutorialAgeInformation'
jest.mock('features/auth/context/AuthContext')
jest.unmock('react-native/Libraries/Animated/createAnimatedComponent')
+mockSettings()
const sixteenUser = { ...beneficiaryUser, birthDate: format(SIXTEEN_AGE_DATE, 'yyyy-MM-dd') }
diff --git a/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformation.web.test.tsx b/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformation.web.test.tsx
index 8fd2bd92bbe..9c9878406b4 100644
--- a/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformation.web.test.tsx
+++ b/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformation.web.test.tsx
@@ -5,6 +5,7 @@ import { act } from 'react-dom/test-utils'
import { TutorialRootStackParamList } from 'features/navigation/RootNavigator/types'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
import { ProfileTutorialAgeInformation } from './ProfileTutorialAgeInformation'
@@ -15,6 +16,7 @@ const navProps = { route: { params: { age: 15 } } } as StackScreenProps<
>
jest.mock('features/favorites/context/FavoritesWrapper')
+mockSettings()
jest.mock('libs/firebase/analytics/analytics')
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
diff --git a/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3.native.test.tsx b/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3.native.test.tsx
index 4f2286c2c70..08c2e366b88 100644
--- a/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3.native.test.tsx
+++ b/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3.native.test.tsx
@@ -4,10 +4,11 @@ import { ProfileTutorialAgeInformationCreditV3 } from 'features/tutorial/pages/p
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
-jest.unmock('react-native/Libraries/Animated/createAnimatedComponent')
jest.mock('libs/firebase/analytics/analytics')
+mockSettings()
jest.useFakeTimers()
diff --git a/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3.web.test.tsx b/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3.web.test.tsx
index 829bdd7c0c9..cd5f2b416e9 100644
--- a/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3.web.test.tsx
+++ b/src/features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3.web.test.tsx
@@ -4,10 +4,12 @@ import { act } from 'react-dom/test-utils'
import { ProfileTutorialAgeInformationCreditV3 } from 'features/tutorial/pages/profileTutorial/ProfileTutorialAgeInformationCreditV3'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { checkAccessibilityFor, render } from 'tests/utils/web'
jest.mock('libs/firebase/remoteConfig/remoteConfig.services')
jest.mock('libs/firebase/analytics/analytics')
+mockSettings()
describe('', () => {
describe('Accessibility', () => {
diff --git a/src/features/venue/api/useVenueOffers.test.ts b/src/features/venue/api/useVenueOffers.test.ts
index cad9e6e1f10..042118f6cab 100644
--- a/src/features/venue/api/useVenueOffers.test.ts
+++ b/src/features/venue/api/useVenueOffers.test.ts
@@ -9,11 +9,13 @@ import { transformOfferHit, filterOfferHit } from 'libs/algolia/fetchAlgolia/tra
import { AlgoliaOffer, HitOffer } from 'libs/algolia/types'
import { LocationMode, Position } from 'libs/location/types'
import * as useNetInfoContextDefault from 'libs/network/NetInfoWrapper'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { renderHook, waitFor } from 'tests/utils'
const mockLocationMode = LocationMode.AROUND_ME
const mockUserLocation: Position = { latitude: 48.90374, longitude: 2.48171 }
+mockSettings()
jest.mock('libs/location/LocationWrapper', () => ({
useLocation: () => ({
userLocation: mockUserLocation,
@@ -316,8 +318,7 @@ describe('useVenueOffers', () => {
name: 'I want something more',
prices: [2800],
subcategoryId: SubcategoryIdEnum.CONCERT,
- thumbUrl:
- 'https://storage.googleapis.com/passculture-metier-prod-production-assets-fine-grained/thumbs/mediations/CDZQ',
+ thumbUrl: 'https://localhost-storage/thumbs/mediations/CDZQ',
artist: 'Céline Dion',
},
_geoloc: { lat: 4.90339, lng: -52.31663 },
diff --git a/src/features/venue/components/VenueBody/VenueBanner.native.test.tsx b/src/features/venue/components/VenueBody/VenueBanner.native.test.tsx
index ddc10e075b1..1ff331f2935 100644
--- a/src/features/venue/components/VenueBody/VenueBanner.native.test.tsx
+++ b/src/features/venue/components/VenueBody/VenueBanner.native.test.tsx
@@ -1,12 +1,14 @@
import React from 'react'
import { VenueBanner } from 'features/venue/components/VenueBody/VenueBanner'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
const mockHandleImagePress = jest.fn()
const user = userEvent.setup()
jest.useFakeTimers()
+mockSettings()
describe('', () => {
it('should display the Google watermark if the image is from Google', () => {
diff --git a/src/features/venue/components/VenueBody/VenueBanner.web.test.tsx b/src/features/venue/components/VenueBody/VenueBanner.web.test.tsx
index 50ac523b451..fd5a3568599 100644
--- a/src/features/venue/components/VenueBody/VenueBanner.web.test.tsx
+++ b/src/features/venue/components/VenueBody/VenueBanner.web.test.tsx
@@ -1,9 +1,11 @@
import React from 'react'
import { VenueBanner } from 'features/venue/components/VenueBody/VenueBanner'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils/web'
const mockHandleImagePress = jest.fn()
+mockSettings()
describe('', () => {
it('should call press handler when pressing image not from google', () => {
diff --git a/src/features/venue/pages/Venue/Venue.perf.test.tsx b/src/features/venue/pages/Venue/Venue.perf.test.tsx
index 6738e870bc3..51c4f6af62f 100644
--- a/src/features/venue/pages/Venue/Venue.perf.test.tsx
+++ b/src/features/venue/pages/Venue/Venue.perf.test.tsx
@@ -9,6 +9,7 @@ import { Venue } from 'features/venue/pages/Venue/Venue'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
import { Offer } from 'shared/offer/types'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, measurePerformance } from 'tests/utils'
@@ -19,6 +20,8 @@ jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper')
jest.mock('features/search/context/SearchWrapper')
+mockSettings()
+
useRoute.mockImplementation(() => ({ params: { id: venueDataTest.id } }))
jest.mock('features/gtlPlaylist/hooks/useGTLPlaylists')
diff --git a/src/features/venue/pages/Venue/Venue.web.test.tsx b/src/features/venue/pages/Venue/Venue.web.test.tsx
index 39baface663..574ae8a50e7 100644
--- a/src/features/venue/pages/Venue/Venue.web.test.tsx
+++ b/src/features/venue/pages/Venue/Venue.web.test.tsx
@@ -12,6 +12,7 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { subcategoriesDataTest } from 'libs/subcategories/fixtures/subcategoriesResponse'
import { Offer } from 'shared/offer/types'
+import { mockSettings } from 'tests/mockSettings'
import { mockServer } from 'tests/mswServer'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, checkAccessibilityFor, fireEvent, render, screen } from 'tests/utils/web'
@@ -22,9 +23,10 @@ jest.mock('libs/subcategories/useSubcategory')
jest.mock('features/venue/api/useVenue')
jest.mock('features/venue/api/useVenueOffers')
jest.mock('libs/itinerary/useItinerary')
-
jest.mock('features/auth/context/AuthContext')
+mockSettings()
+
jest.mock('uuid', () => ({
v1: jest.fn(),
v4: jest.fn(),
diff --git a/src/features/venueMap/components/VenueMapPreview/VenueMapPreview.native.test.tsx b/src/features/venueMap/components/VenueMapPreview/VenueMapPreview.native.test.tsx
index de185b5a303..b54a6d53485 100644
--- a/src/features/venueMap/components/VenueMapPreview/VenueMapPreview.native.test.tsx
+++ b/src/features/venueMap/components/VenueMapPreview/VenueMapPreview.native.test.tsx
@@ -3,8 +3,11 @@ import React, { ComponentProps } from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
import { offerResponseSnap } from 'features/offer/fixtures/offerResponse'
import { VenueMapPreview } from 'features/venueMap/components/VenueMapPreview/VenueMapPreview'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
+mockSettings()
+
describe('', () => {
it('should render correctly with border by default', () => {
renderVenueMapPreview({})
diff --git a/src/features/venueMap/components/VenueMapView/VenueMapView.android.test.tsx b/src/features/venueMap/components/VenueMapView/VenueMapView.android.test.tsx
index f8d849b74f7..33144aaa963 100644
--- a/src/features/venueMap/components/VenueMapView/VenueMapView.android.test.tsx
+++ b/src/features/venueMap/components/VenueMapView/VenueMapView.android.test.tsx
@@ -1,9 +1,12 @@
import { Platform } from 'react-native'
+import { mockSettings } from 'tests/mockSettings'
+
Platform.OS = 'android'
jest.mock('./Marker/Marker', () => require('./Marker/Marker.android'))
jest.mock('../VenueMapLabel/LabelContainer', () =>
require('../VenueMapLabel/LabelContainer.android')
)
+mockSettings()
require('./VenueMapView.native.test')
diff --git a/src/features/venueMap/components/VenueMapView/VenueMapView.native.test.tsx b/src/features/venueMap/components/VenueMapView/VenueMapView.native.test.tsx
index ca5f113fcdf..94434e490ea 100644
--- a/src/features/venueMap/components/VenueMapView/VenueMapView.native.test.tsx
+++ b/src/features/venueMap/components/VenueMapView/VenueMapView.native.test.tsx
@@ -18,12 +18,14 @@ import { useGetAllVenues } from 'features/venueMap/useGetAllVenues'
import { venuesFixture } from 'libs/algolia/fetchAlgolia/fetchVenues/fixtures/venuesFixture'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, fireEvent, render, screen, userEvent, waitFor } from 'tests/utils'
import * as constants from '../../constant'
const mockSetInitialVenues = jest.spyOn(initialVenuesActions, 'setInitialVenues')
+mockSettings()
jest.mock('features/venueMap/useGetAllVenues')
const mockUseGetAllVenues = useGetAllVenues as jest.Mock
diff --git a/src/libs/algolia/fetchAlgolia/transformOfferHit.ts b/src/libs/algolia/fetchAlgolia/transformOfferHit.ts
index 3b3e923d7f0..48ceda348a2 100644
--- a/src/libs/algolia/fetchAlgolia/transformOfferHit.ts
+++ b/src/libs/algolia/fetchAlgolia/transformOfferHit.ts
@@ -1,6 +1,6 @@
import { useCallback } from 'react'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { AlgoliaOffer, HitOffer } from 'libs/algolia/types'
import { convertEuroToCents } from 'libs/parsers/pricesConversion'
@@ -51,7 +51,7 @@ export const transformOfferHit =
})
export const useTransformOfferHits = () => {
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const { objectStorageUrl: urlPrefix } = settings || {}
// eslint-disable-next-line react-hooks/exhaustive-deps
diff --git a/src/libs/resizing-image-on-demand/useResizeImageURL.native.test.ts b/src/libs/resizing-image-on-demand/useResizeImageURL.native.test.ts
index 47b41d146cb..8f378dd6bf3 100644
--- a/src/libs/resizing-image-on-demand/useResizeImageURL.native.test.ts
+++ b/src/libs/resizing-image-on-demand/useResizeImageURL.native.test.ts
@@ -4,13 +4,20 @@ import { renderHook } from '@testing-library/react-native'
import { useWindowDimensions } from 'react-native'
import { useTheme } from 'styled-components/native'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/__mocks__/useSettings'
import { useResizeImageURL } from 'libs/resizing-image-on-demand/useResizeImageURL'
+import { mockSettings } from 'tests/mockSettings'
jest.mock('libs/environment/env')
-jest.mock('react-native', () => ({ useWindowDimensions: jest.fn() }))
+jest.mock('react-native', () => {
+ const { Platform } = jest.requireActual('react-native')
+ return {
+ Platform,
+ useWindowDimensions: jest.fn(),
+ }
+})
jest.mock('styled-components/native')
-jest.mock('features/auth/context/SettingsContext')
+jest.mock('libs/monitoring/services')
const mockUseWindowDimensions = useWindowDimensions as jest.Mock
mockUseWindowDimensions.mockReturnValue({ scale: 1 })
@@ -22,9 +29,11 @@ const mockDefaultSettings = {
enableFrontImageResizing: true,
objectStorageUrl: 'https://localhost-storage',
}
-const mockUseSettingsContext = useSettingsContext as jest.Mock
+const mockUseSettingsContext = useSettings
mockUseSettingsContext.mockReturnValue({ data: mockDefaultSettings })
+mockSettings()
+
describe('useResizeImageURL hook', () => {
it('should return a smaller resized image URL on a small screen', () => {
const imageURL = 'https://localhost-storage/thumbs/mediations/BF6Q'
@@ -67,7 +76,10 @@ describe('useResizeImageURL hook', () => {
const imageURL = 'https://localhost-storage/thumbs/mediations/BF6Q'
const { result } = renderHook(() => useResizeImageURL({ imageURL }))
- expect(result.current).toEqual(imageURL)
+ const expectedImageURL =
+ 'https://image-resizing-dot-passculture-metier-ehp.ew.r.appspot.com/?size=327&filename=localhost-storage-v2/thumbs/mediations/BF6Q'
+
+ expect(result.current).toEqual(expectedImageURL)
})
it('should return the resized image URL with custom dimensions when provided and height > width', () => {
diff --git a/src/libs/resizing-image-on-demand/useResizeImageURL.ts b/src/libs/resizing-image-on-demand/useResizeImageURL.ts
index e2e4492e485..fceb4cf0b99 100644
--- a/src/libs/resizing-image-on-demand/useResizeImageURL.ts
+++ b/src/libs/resizing-image-on-demand/useResizeImageURL.ts
@@ -1,7 +1,7 @@
import { useWindowDimensions } from 'react-native'
import { useTheme } from 'styled-components/native'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { env } from 'libs/environment/env'
const MOBILE_MAX_SIZE = 327
@@ -17,7 +17,7 @@ export const useResizeImageURL = ({ imageURL, height, width }: Params) => {
const { isDesktopViewport } = useTheme()
const { scale: pixelRatio } = useWindowDimensions()
- const { data: appSettings } = useSettingsContext()
+ const { data: appSettings } = useSettings()
if (!appSettings?.enableFrontImageResizing) {
return imageURL
}
diff --git a/src/shared/exchangeRates/useGetPacificFrancToEuroRate.native.test.ts b/src/shared/exchangeRates/useGetPacificFrancToEuroRate.native.test.ts
index 312518088c2..e65abcdb796 100644
--- a/src/shared/exchangeRates/useGetPacificFrancToEuroRate.native.test.ts
+++ b/src/shared/exchangeRates/useGetPacificFrancToEuroRate.native.test.ts
@@ -1,13 +1,13 @@
-import { setSettings } from 'features/auth/tests/setSettings'
import { DEFAULT_PACIFIC_FRANC_TO_EURO_RATE } from 'shared/exchangeRates/defaultRateValues'
import { useGetPacificFrancToEuroRate } from 'shared/exchangeRates/useGetPacificFrancToEuroRate'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { act, renderHook } from 'tests/utils'
describe('useGetPacificFrancToEuroRate', () => {
beforeEach(() => {
jest.clearAllMocks()
- setSettings()
+ mockSettings()
})
it('should initialize with the default rate', async () => {
@@ -19,7 +19,7 @@ describe('useGetPacificFrancToEuroRate', () => {
})
it('should return exchange rate from backend', async () => {
- setSettings({ rates: { pacificFrancToEuro: 0.05 } })
+ mockSettings({ rates: { pacificFrancToEuro: 0.05 } })
const { result } = renderUseGetPacificFrancToEuroRate()
await act(async () => {})
diff --git a/src/shared/exchangeRates/useGetPacificFrancToEuroRate.ts b/src/shared/exchangeRates/useGetPacificFrancToEuroRate.ts
index 9c31d9cb61e..3277fae2bc4 100644
--- a/src/shared/exchangeRates/useGetPacificFrancToEuroRate.ts
+++ b/src/shared/exchangeRates/useGetPacificFrancToEuroRate.ts
@@ -1,7 +1,7 @@
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { DEFAULT_PACIFIC_FRANC_TO_EURO_RATE } from 'shared/exchangeRates/defaultRateValues'
export const useGetPacificFrancToEuroRate = (): number => {
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
return settings?.rates?.pacificFrancToEuro ?? DEFAULT_PACIFIC_FRANC_TO_EURO_RATE
}
diff --git a/src/shared/offer/components/AuthenticationModal/AuthenticationModal.native.test.tsx b/src/shared/offer/components/AuthenticationModal/AuthenticationModal.native.test.tsx
index 1801b29a51d..6b43d8b9eaa 100644
--- a/src/shared/offer/components/AuthenticationModal/AuthenticationModal.native.test.tsx
+++ b/src/shared/offer/components/AuthenticationModal/AuthenticationModal.native.test.tsx
@@ -1,10 +1,10 @@
import React from 'react'
import { navigate } from '__mocks__/@react-navigation/native'
-import { setSettings } from 'features/auth/tests/setSettings'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { analytics } from 'libs/analytics/provider'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
+import { mockSettings } from 'tests/mockSettings'
import { userEvent, render, screen } from 'tests/utils'
import { AuthenticationModal } from './AuthenticationModal'
@@ -12,6 +12,8 @@ import { AuthenticationModal } from './AuthenticationModal'
const OFFER_ID = 123
const hideModal = jest.fn()
+mockSettings()
+
jest.mock('react-native/Libraries/Animated/createAnimatedComponent', () => {
return function createAnimatedComponent(Component: unknown) {
return Component
@@ -162,7 +164,7 @@ describe('', () => {
describe('when enableCreditV3 activated', () => {
beforeEach(() => {
- setSettings({ wipEnableCreditV3: true })
+ mockSettings({ wipEnableCreditV3: true })
})
it('should display subtitle with credit V3', () => {
diff --git a/src/shared/offer/components/AuthenticationModal/AuthenticationModal.tsx b/src/shared/offer/components/AuthenticationModal/AuthenticationModal.tsx
index 98cc59a8f25..43b9983ee20 100644
--- a/src/shared/offer/components/AuthenticationModal/AuthenticationModal.tsx
+++ b/src/shared/offer/components/AuthenticationModal/AuthenticationModal.tsx
@@ -2,7 +2,7 @@ import React, { FunctionComponent, useCallback } from 'react'
import styled from 'styled-components/native'
import { AuthenticationButton } from 'features/auth/components/AuthenticationButton/AuthenticationButton'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { StepperOrigin } from 'features/navigation/RootNavigator/types'
import { analytics } from 'libs/analytics/provider'
import { ButtonWithLinearGradient } from 'ui/components/buttons/buttonWithLinearGradient/ButtonWithLinearGradient'
@@ -26,7 +26,7 @@ export const AuthenticationModal: FunctionComponent = ({
offerId,
from,
}) => {
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const title = `Tu as ${enableCreditV3 ? '17 ou 18' : 'entre 15 et 18'} ans\u00a0?`
diff --git a/src/shared/offer/components/FinishSubscriptionModal/FinishSubscriptionModal.native.test.tsx b/src/shared/offer/components/FinishSubscriptionModal/FinishSubscriptionModal.native.test.tsx
index 64cf0372f06..4fc11989f36 100644
--- a/src/shared/offer/components/FinishSubscriptionModal/FinishSubscriptionModal.native.test.tsx
+++ b/src/shared/offer/components/FinishSubscriptionModal/FinishSubscriptionModal.native.test.tsx
@@ -9,11 +9,13 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { useGetDepositAmountsByAge } from 'shared/user/useGetDepositAmountsByAge'
import { mockAuthContextWithUser } from 'tests/AuthContextUtils'
+import { mockSettings } from 'tests/mockSettings'
import { fireEvent, render, screen } from 'tests/utils'
import { FinishSubscriptionModal } from './FinishSubscriptionModal'
jest.mock('features/auth/context/AuthContext')
+mockSettings()
jest.mock('shared/user/useGetDepositAmountsByAge')
const mockDepositAmounts = useGetDepositAmountsByAge as jest.Mock
diff --git a/src/shared/offer/helpers/useBookOfferModal.native.test.tsx b/src/shared/offer/helpers/useBookOfferModal.native.test.tsx
index c4fd7cdf23a..d5ff33b41a1 100644
--- a/src/shared/offer/helpers/useBookOfferModal.native.test.tsx
+++ b/src/shared/offer/helpers/useBookOfferModal.native.test.tsx
@@ -6,6 +6,7 @@ import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
import { OfferModal } from 'shared/offer/enums'
import { OfferModalProps, useBookOfferModal } from 'shared/offer/helpers/useBookOfferModal'
+import { mockSettings } from 'tests/mockSettings'
import { reactQueryProviderHOC } from 'tests/reactQueryProviderHOC'
import { render, renderHook, screen } from 'tests/utils'
import { LINE_BREAK } from 'ui/theme/constants'
@@ -15,6 +16,8 @@ jest.mock('features/bookOffer/pages/BookingOfferModal', () => ({
BookingOfferModal: () => mockBookingOfferModal,
}))
+mockSettings()
+
jest.mock('ui/components/modals/useModal.ts', () => ({
useModal: jest.fn().mockReturnValue({
visible: true,
diff --git a/src/shared/user/useDepositAmountsByAge.ts b/src/shared/user/useDepositAmountsByAge.ts
index e2a803034ad..6bcf23ef400 100644
--- a/src/shared/user/useDepositAmountsByAge.ts
+++ b/src/shared/user/useDepositAmountsByAge.ts
@@ -1,12 +1,12 @@
import { DepositAmountsByAge } from 'api/gen'
-import { useSettingsContext } from 'features/auth/context/SettingsContext'
+import { useSettings } from 'features/auth/context/useSettings'
import { defaultCreditByAge } from 'shared/credits/defaultCreditByAge'
import { formatCurrencyFromCents } from 'shared/currency/formatCurrencyFromCents'
import { useGetCurrencyToDisplay } from 'shared/currency/useGetCurrencyToDisplay'
import { useGetPacificFrancToEuroRate } from 'shared/exchangeRates/useGetPacificFrancToEuroRate'
export function useDepositAmountsByAge() {
- const { data: settings } = useSettingsContext()
+ const { data: settings } = useSettings()
const enableCreditV3 = settings?.wipEnableCreditV3
const deposit = settings?.depositAmountsByAge
diff --git a/src/shared/user/useGetDepositAmountsByAge.native.test.ts b/src/shared/user/useGetDepositAmountsByAge.native.test.ts
index 517a9627d4d..08ac3e531f7 100644
--- a/src/shared/user/useGetDepositAmountsByAge.native.test.ts
+++ b/src/shared/user/useGetDepositAmountsByAge.native.test.ts
@@ -2,12 +2,14 @@ import mockdate from 'mockdate'
import { setFeatureFlags } from 'libs/firebase/firestore/featureFlags/__tests__/setFeatureFlags'
import { RemoteStoreFeatureFlags } from 'libs/firebase/firestore/types'
+import { mockSettings } from 'tests/mockSettings'
import { renderHook } from 'tests/utils'
import { useGetDepositAmountsByAge } from './useGetDepositAmountsByAge'
const TODAY = '2022-10-24'
mockdate.set(new Date(TODAY))
+mockSettings()
describe('useGetDepositAmountsByAge', () => {
beforeEach(() => {
diff --git a/src/features/auth/tests/setSettings.ts b/src/tests/mockSettings.ts
similarity index 50%
rename from src/features/auth/tests/setSettings.ts
rename to src/tests/mockSettings.ts
index 78d79653511..3a736cc1ae3 100644
--- a/src/features/auth/tests/setSettings.ts
+++ b/src/tests/mockSettings.ts
@@ -1,9 +1,9 @@
import { SettingsResponse } from 'api/gen'
-import * as SettingsContextAPI from 'features/auth/context/SettingsContext'
+import * as useSettingsModule from 'features/auth/context/useSettings'
import { defaultSettings } from 'features/auth/fixtures/fixtures'
-export const setSettings = (settings: Partial = {}) => {
- const useSettingsContextSpy = jest.spyOn(SettingsContextAPI, 'useSettingsContext')
+export const mockSettings = (settings: Partial = {}) => {
+ const useSettingsContextSpy = jest.spyOn(useSettingsModule, 'useSettings')
useSettingsContextSpy.mockImplementation(() => ({
data: { ...defaultSettings, ...settings },
isLoading: false,
diff --git a/src/ui/components/Avatar/AvatarList.native.test.tsx b/src/ui/components/Avatar/AvatarList.native.test.tsx
index a49d435ff52..b5ed00c551b 100644
--- a/src/ui/components/Avatar/AvatarList.native.test.tsx
+++ b/src/ui/components/Avatar/AvatarList.native.test.tsx
@@ -1,9 +1,12 @@
import React from 'react'
import { push } from '__mocks__/@react-navigation/native'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen, userEvent } from 'tests/utils'
import { AvatarsList } from 'ui/components/Avatar/AvatarList'
+mockSettings()
+
const avatarsData = [
{ id: 1, image: 'url1', name: 'Oda' },
{ id: 2, image: 'url2', name: 'MMMM' },
diff --git a/src/ui/components/Avatar/AvatarListItem.native.test.tsx b/src/ui/components/Avatar/AvatarListItem.native.test.tsx
index a6f1c98bb86..5efb7fcb3f9 100644
--- a/src/ui/components/Avatar/AvatarListItem.native.test.tsx
+++ b/src/ui/components/Avatar/AvatarListItem.native.test.tsx
@@ -1,8 +1,11 @@
import React from 'react'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
import { AvatarListItem } from 'ui/components/Avatar/AvatarListItem'
+mockSettings()
+
describe('', () => {
it('should display artist avatar name', () => {
render()
diff --git a/src/ui/components/ImageTile.native.test.tsx b/src/ui/components/ImageTile.native.test.tsx
index 67c34d7b6b6..b102b454614 100644
--- a/src/ui/components/ImageTile.native.test.tsx
+++ b/src/ui/components/ImageTile.native.test.tsx
@@ -1,8 +1,11 @@
import React from 'react'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
import { ImageTile } from 'ui/components/ImageTile'
+mockSettings()
+
const props = {
height: 100,
width: 100,
diff --git a/src/ui/components/VenueInfoHeader/VenueInfoHeader.native.test.tsx b/src/ui/components/VenueInfoHeader/VenueInfoHeader.native.test.tsx
index 7fd11e12d46..5c7bdc36df9 100644
--- a/src/ui/components/VenueInfoHeader/VenueInfoHeader.native.test.tsx
+++ b/src/ui/components/VenueInfoHeader/VenueInfoHeader.native.test.tsx
@@ -1,10 +1,13 @@
import React from 'react'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
import { VenueInfoHeader } from 'ui/components/VenueInfoHeader/VenueInfoHeader'
const VENUE_THUMBNAIL_SIZE = 48
+mockSettings()
+
describe('', () => {
it('should display venue name', () => {
render(
diff --git a/src/ui/components/VenuePreview/VenuePreview.native.test.tsx b/src/ui/components/VenuePreview/VenuePreview.native.test.tsx
index 3b3a4e72fd6..3b48dad8197 100644
--- a/src/ui/components/VenuePreview/VenuePreview.native.test.tsx
+++ b/src/ui/components/VenuePreview/VenuePreview.native.test.tsx
@@ -1,11 +1,14 @@
import React from 'react'
import { offerResponseSnap } from 'features/offer/fixtures/offerResponse'
+import { mockSettings } from 'tests/mockSettings'
import { render, screen } from 'tests/utils'
import { VenuePreview } from 'ui/components/VenuePreview/VenuePreview'
const VENUE_THUMBNAIL_SIZE = 48
+mockSettings()
+
describe('', () => {
it('should display venue name', () => {
render(