diff --git a/src/components/HeaderPageLayout.tsx b/src/components/HeaderPageLayout.tsx
index 47b52fa3fcb2..4a857d940a55 100644
--- a/src/components/HeaderPageLayout.tsx
+++ b/src/components/HeaderPageLayout.tsx
@@ -19,6 +19,9 @@ type HeaderPageLayoutProps = ChildrenProps &
/** The background color to apply in the upper half of the screen. */
backgroundColor?: string;
+ /** TestID to apply to the whole section container */
+ testID: string;
+
/** A fixed footer to display at the bottom of the page. */
footer?: ReactNode;
@@ -50,6 +53,7 @@ function HeaderPageLayout({
style,
headerContent,
shouldShowOfflineIndicatorInWideScreen = false,
+ testID,
...rest
}: HeaderPageLayoutProps) {
const theme = useTheme();
@@ -72,7 +76,7 @@ function HeaderPageLayout({
shouldEnablePickerAvoiding={false}
includeSafeAreaPaddingBottom={false}
offlineIndicatorStyle={[appBGColor]}
- testID={HeaderPageLayout.displayName}
+ testID={testID}
shouldShowOfflineIndicatorInWideScreen={shouldShowOfflineIndicatorInWideScreen}
>
{({safeAreaPaddingBottomStyle}) => (
diff --git a/src/components/IllustratedHeaderPageLayout.tsx b/src/components/IllustratedHeaderPageLayout.tsx
index c40a4e33e67a..4a64aa40484f 100644
--- a/src/components/IllustratedHeaderPageLayout.tsx
+++ b/src/components/IllustratedHeaderPageLayout.tsx
@@ -16,9 +16,12 @@ type IllustratedHeaderPageLayoutProps = HeaderPageLayoutProps & {
/** Overlay content to display on top of animation */
overlayContent?: () => ReactNode;
+
+ /** TestID to apply to the whole section container */
+ testID: string;
};
-function IllustratedHeaderPageLayout({backgroundColor, children, illustration, overlayContent, ...rest}: IllustratedHeaderPageLayoutProps) {
+function IllustratedHeaderPageLayout({backgroundColor, children, illustration, testID, overlayContent, ...rest}: IllustratedHeaderPageLayoutProps) {
const theme = useTheme();
const styles = useThemeStyles();
const shouldLimitHeight = !rest.shouldShowBackButton;
@@ -38,6 +41,7 @@ function IllustratedHeaderPageLayout({backgroundColor, children, illustration, o
{overlayContent?.()}
>
}
+ testID={testID}
headerContainerStyles={[styles.justifyContentCenter, styles.w100, shouldLimitHeight && styles.centralPaneAnimation]}
// eslint-disable-next-line react/jsx-props-no-spreading
{...rest}
diff --git a/src/pages/ReferralDetailsPage.tsx b/src/pages/ReferralDetailsPage.tsx
index aff6ffd0ab9f..f5a5aef14373 100644
--- a/src/pages/ReferralDetailsPage.tsx
+++ b/src/pages/ReferralDetailsPage.tsx
@@ -59,6 +59,7 @@ function ReferralDetailsPage({route, account}: ReferralDetailsPageProps) {
}
headerContainerStyles={[styles.staticHeaderImage, styles.justifyContentEnd]}
backgroundColor={theme.PAGE_THEMES[SCREENS.REFERRAL_DETAILS].backgroundColor}
+ testID={ReferralDetailsPage.displayName}
>
{contentHeader}
{contentBody}
diff --git a/src/pages/TeachersUnite/SaveTheWorldPage.tsx b/src/pages/TeachersUnite/SaveTheWorldPage.tsx
index 03df52050ce5..5a6ce4e8f3e9 100644
--- a/src/pages/TeachersUnite/SaveTheWorldPage.tsx
+++ b/src/pages/TeachersUnite/SaveTheWorldPage.tsx
@@ -23,6 +23,7 @@ function SaveTheWorldPage() {
backgroundColor={theme.PAGE_THEMES[SCREENS.SAVE_THE_WORLD.ROOT].backgroundColor}
onBackButtonPress={Navigation.goBack}
illustration={LottieAnimations.SaveTheWorld}
+ testID={SaveTheWorldPage.displayName}
>
{translate('teachersUnitePage.teachersUnite')}
diff --git a/src/pages/settings/AboutPage/AboutPage.tsx b/src/pages/settings/AboutPage/AboutPage.tsx
index f19c9eb2d534..93948cf0565e 100644
--- a/src/pages/settings/AboutPage/AboutPage.tsx
+++ b/src/pages/settings/AboutPage/AboutPage.tsx
@@ -132,6 +132,7 @@ function AboutPage() {
backgroundColor={theme.PAGE_THEMES[SCREENS.SETTINGS.ABOUT].backgroundColor}
overlayContent={overlayContent}
shouldShowOfflineIndicatorInWideScreen
+ testID={AboutPage.displayName}
>
{translate('footer.aboutExpensify')}
diff --git a/src/pages/settings/InitialSettingsPage.js b/src/pages/settings/InitialSettingsPage.js
index 0447261913ce..6f547564e7a9 100755
--- a/src/pages/settings/InitialSettingsPage.js
+++ b/src/pages/settings/InitialSettingsPage.js
@@ -355,6 +355,7 @@ function InitialSettingsPage(props) {
onBackButtonPress={() => Navigation.closeFullScreen()}
backgroundColor={theme.PAGE_THEMES[SCREENS.SETTINGS.ROOT].backgroundColor}
childrenContainerStyles={[styles.m0, styles.p0]}
+ testID={InitialSettingsPage.displayName}
>
{accountMenuItems}
diff --git a/src/pages/settings/Preferences/PreferencesPage.js b/src/pages/settings/Preferences/PreferencesPage.js
index da0d87afe932..f95daf8ad7d2 100755
--- a/src/pages/settings/Preferences/PreferencesPage.js
+++ b/src/pages/settings/Preferences/PreferencesPage.js
@@ -55,6 +55,7 @@ function PreferencesPage(props) {
illustration={LottieAnimations.PreferencesDJ}
shouldShowBackButton={isSmallScreenWidth}
shouldShowOfflineIndicatorInWideScreen
+ testID={PreferencesPage.displayName}
>
Navigation.goBack(ROUTES)}
illustration={LottieAnimations.ExpensifyLounge}
+ testID={LoungeAccessPage.displayName}
>
diff --git a/src/pages/settings/Wallet/ActivatePhysicalCardPage.js b/src/pages/settings/Wallet/ActivatePhysicalCardPage.js
index bfc8583998b6..947252649cc4 100644
--- a/src/pages/settings/Wallet/ActivatePhysicalCardPage.js
+++ b/src/pages/settings/Wallet/ActivatePhysicalCardPage.js
@@ -138,6 +138,7 @@ function ActivatePhysicalCardPage({
illustration={LottieAnimations.Magician}
scrollViewContainerStyles={[styles.mnh100]}
childrenContainerStyles={[styles.flex1]}
+ testID={ActivatePhysicalCardPage.displayName}
>
{translate('activateCardPage.pleaseEnterLastFour')}
diff --git a/src/pages/settings/Wallet/WalletEmptyState.js b/src/pages/settings/Wallet/WalletEmptyState.js
index c26e2947c0ef..c76d8a7e21fd 100644
--- a/src/pages/settings/Wallet/WalletEmptyState.js
+++ b/src/pages/settings/Wallet/WalletEmptyState.js
@@ -46,6 +46,7 @@ function WalletEmptyState({onAddPaymentMethod}) {
shouldShowBackButton={isSmallScreenWidth}
shouldShowOfflineIndicatorInWideScreen
style={isSmallScreenWidth ? styles.workspaceSectionMobile : styles.workspaceSection}
+ testID={WalletEmptyState.displayName}
>