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} >