Improve e2e tests (#8927)

* get e2e image picker working

* verify create account actually reaches onboarding

* wait for image to actually be attached before posting

* wait until login finishes before moving on

* sign out before switch accounts then wait until logged in

* disable onboarding experiments in e2e

* add testId to handle availability checkmark

* fix too long username

* update thread muting test to reflect current behaviour

* hackfix for the british english translation

* unflake the onboarding tests

* fix curate list flow

* admit defeat on the most list one
This commit is contained in:
Samuel Newman
2025-08-29 18:15:05 +03:00
committed by GitHub
parent 541502c7ee
commit d6dc52b6ea
24 changed files with 200 additions and 92 deletions
+1
View File
@@ -580,6 +580,7 @@ function LegacyFinalStep({
<OnboardingControls.Portal>
<Button
testID="onboardingFinish"
disabled={saving}
key={state.activeStep} // remove focus state on nav
color="primary"
@@ -244,6 +244,7 @@ export function StepInterests() {
) : (
<Button
disabled={saving || !data}
testID="onboardingContinue"
variant="solid"
color="primary"
size="large"
@@ -268,6 +268,7 @@ export function StepProfile() {
<OnboardingControls.Portal>
<View style={[a.gap_md, gtMobile && a.flex_row_reverse]}>
<Button
testID="onboardingContinue"
variant="solid"
color="primary"
size="large"
@@ -279,6 +280,7 @@ export function StepProfile() {
<ButtonIcon icon={ChevronRight} position="right" />
</Button>
<Button
testID="onboardingAvatarCreator"
variant="ghost"
color="primary"
size="large"
+4 -2
View File
@@ -13,13 +13,15 @@ import {StepFinished} from '#/screens/Onboarding/StepFinished'
import {StepInterests} from '#/screens/Onboarding/StepInterests'
import {StepProfile} from '#/screens/Onboarding/StepProfile'
import {Portal} from '#/components/Portal'
import {ENV} from '#/env'
import {StepSuggestedAccounts} from './StepSuggestedAccounts'
export function Onboarding() {
const {_} = useLingui()
const gate = useGate()
const showValueProp = gate('onboarding_value_prop')
const showSuggestedAccounts = gate('onboarding_suggested_accounts')
const showValueProp = ENV !== 'e2e' && gate('onboarding_value_prop')
const showSuggestedAccounts =
ENV !== 'e2e' && gate('onboarding_suggested_accounts')
const [state, dispatch] = useReducer(reducer, {
...initialState,
totalSteps: showSuggestedAccounts ? 4 : 3,
+4 -1
View File
@@ -168,7 +168,10 @@ export function StepHandle() {
</TextField.GhostText>
)}
{isHandleAvailable?.available && (
<CheckIcon style={[{color: t.palette.positive_600}, a.z_20]} />
<CheckIcon
testID="handleAvailableCheck"
style={[{color: t.palette.positive_600}, a.z_20]}
/>
)}
</TextField.Root>
</View>