diff --git a/src/components/StarterPack/ProfileStarterPacks.tsx b/src/components/StarterPack/ProfileStarterPacks.tsx index 096f04f2dd..f24267eecb 100644 --- a/src/components/StarterPack/ProfileStarterPacks.tsx +++ b/src/components/StarterPack/ProfileStarterPacks.tsx @@ -167,7 +167,8 @@ function CreateAnother() { color="secondary" size="small" style={[a.self_center]} - onPress={() => navigation.navigate('StarterPackWizard')}> + onPress={() => navigation.navigate('StarterPackWizard')} + testID="createAnotherStarterpackBtn"> Create another @@ -247,7 +248,8 @@ function Empty() { size="small" disabled={isGenerating} onPress={confirmDialogControl.open} - style={{backgroundColor: 'transparent'}}> + style={{backgroundColor: 'transparent'}} + testID="createStarterpackForMeBtn"> Make one for me @@ -265,7 +267,8 @@ function Empty() { borderColor: 'white', width: 100, }} - hoverStyle={[{backgroundColor: '#dfdfdf'}]}> + hoverStyle={[{backgroundColor: '#dfdfdf'}]} + testID="createStarterpackBtn"> Create diff --git a/src/lib/app-info.ts b/src/lib/app-info.ts index 729881acae..f80dc9116e 100644 --- a/src/lib/app-info.ts +++ b/src/lib/app-info.ts @@ -3,6 +3,7 @@ import {nativeApplicationVersion, nativeBuildVersion} from 'expo-application' export const BUILD_ENV = process.env.EXPO_PUBLIC_ENV export const IS_DEV = process.env.EXPO_PUBLIC_ENV === 'development' export const IS_TESTFLIGHT = process.env.EXPO_PUBLIC_ENV === 'testflight' +export const IS_E2E = process.env.EXPO_PUBLIC_ENV === 'e2e' // This is the commit hash that the current bundle was made from. The user can see the commit hash in the app's settings // along with the other version info. Useful for debugging/reporting. diff --git a/src/screens/StarterPack/Wizard/StepDetails.tsx b/src/screens/StarterPack/Wizard/StepDetails.tsx index 24c992c60b..768218df9b 100644 --- a/src/screens/StarterPack/Wizard/StepDetails.tsx +++ b/src/screens/StarterPack/Wizard/StepDetails.tsx @@ -50,6 +50,7 @@ export function StepDetails() { )} value={state.name} onChangeText={text => dispatch({type: 'SetName', name: text})} + testID="starterPackName" /> @@ -75,6 +76,7 @@ export function StepDetails() { } multiline style={{minHeight: 150}} + testID="starterPackDescription" /> diff --git a/src/screens/StarterPack/Wizard/index.tsx b/src/screens/StarterPack/Wizard/index.tsx index b231e317e3..46e6f71063 100644 --- a/src/screens/StarterPack/Wizard/index.tsx +++ b/src/screens/StarterPack/Wizard/index.tsx @@ -20,6 +20,7 @@ import {useFocusEffect, useNavigation} from '@react-navigation/native' import {NativeStackScreenProps} from '@react-navigation/native-stack' import {logger} from '#/logger' +import {IS_E2E} from 'lib/app-info' import {HITSLOP_10} from 'lib/constants' import {createSanitizedDisplayName} from 'lib/moderation/create-sanitized-display-name' import {CommonNavigatorParams, NavigationProp} from 'lib/routes/types' @@ -58,6 +59,8 @@ import {WizardEditListDialog} from '#/components/StarterPack/Wizard/WizardEditLi import {Text} from '#/components/Typography' import {Provider} from './State' +const MIN_PROFILES = IS_E2E ? 2 : 8 + export function Wizard({ route, }: NativeStackScreenProps< @@ -399,7 +402,7 @@ function Footer({ (state.currentStep === 'Profiles' && items.length > 1) || (state.currentStep === 'Feeds' && items.length > 0) - const minimumItems = state.currentStep === 'Profiles' ? 8 : 0 + const minimumItems = state.currentStep === 'Profiles' ? MIN_PROFILES : 0 const textStyles = [a.text_md] @@ -528,11 +531,11 @@ function Footer({ ) : ( )} - {state.currentStep === 'Profiles' && items.length < 8 ? ( + {state.currentStep === 'Profiles' && items.length < MIN_PROFILES ? ( <> - Add {8 - items.length} more to continue + Add {MIN_PROFILES - items.length} more to continue diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx index 946f6ac543..cf1192bf5f 100644 --- a/src/view/screens/Profile.tsx +++ b/src/view/screens/Profile.tsx @@ -27,7 +27,7 @@ import {useAgent, useSession} from '#/state/session' import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell' import {useComposerControls} from '#/state/shell/composer' import {useAnalytics} from 'lib/analytics/analytics' -import {IS_DEV, IS_TESTFLIGHT} from 'lib/app-info' +import {IS_DEV, IS_E2E, IS_TESTFLIGHT} from 'lib/app-info' import {useSetTitle} from 'lib/hooks/useSetTitle' import {ComposeIcon2} from 'lib/icons' import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types' @@ -172,7 +172,10 @@ function ProfileScreenLoaded({ const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled() const gate = useGate() const starterPacksEnabled = - IS_DEV || IS_TESTFLIGHT || (!isWeb && gate('starter_packs_enabled')) + IS_DEV || + IS_TESTFLIGHT || + IS_E2E || + (!isWeb && gate('starter_packs_enabled')) const [scrollViewTag, setScrollViewTag] = React.useState(null)