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)