Target de UI tests que recorra el onboarding completo #3

Closed
opened 2026-08-05 21:05:55 +00:00 by alexandrev · 1 comment
Owner

Pedido tras el bug de los pasos 5 y 6 (issue #1): "Anado un target de UI tests".

Motivo: ese bug era invisible a los tests unitarios. El contrato de datos estaba bien, lo que fallaba era que la vista se desmontaba antes de pintar los dos ultimos pasos. Solo un test que recorra la UI de verdad lo detecta.

Alcance

  • Target MealMoodUITests (bundle de UI testing, solo simulador).
  • Test que hace el onboarding entero en instalacion limpia y comprueba que aparecen Week Ready y el paywall antes de la Home.
  • Identificadores de accesibilidad en los CTA del onboarding para no depender de textos localizados (la app esta en 6 idiomas).
Pedido tras el bug de los pasos 5 y 6 (issue #1): *"Anado un target de UI tests"*. Motivo: ese bug era invisible a los tests unitarios. El contrato de datos estaba bien, lo que fallaba era que la vista se desmontaba antes de pintar los dos ultimos pasos. Solo un test que recorra la UI de verdad lo detecta. ## Alcance - Target `MealMoodUITests` (bundle de UI testing, solo simulador). - Test que hace el onboarding entero en instalacion limpia y comprueba que aparecen Week Ready y el paywall **antes** de la Home. - Identificadores de accesibilidad en los CTA del onboarding para no depender de textos localizados (la app esta en 6 idiomas).
Author
Owner

Implementado en 79423e3.

  • Target MealMoodUITests creado con la gema xcodeproj (no a mano sobre el pbxproj) y registrado en el TestAction del scheme MealMood. CODE_SIGNING_ALLOWED = NO: es un bundle de simulador y asi no necesita los perfiles manuales que usan app y widget.
  • OnboardingFlowUITests.testOnboardingReachesWeekReadyAndPaywallBeforeTheHome recorre los 7 pasos en instalacion limpia.
  • accessibilityIdentifier en los CTA de los pasos 0-6, en el titulo de Week Ready y en la raiz de HomeView.
  • El test fija el idioma a ingles por launch argument y descarta el dialogo de Apple Account que el simulador levanta al arrancar.

Validado en los dos sentidos, que es lo que hace que el test valga algo:

  • Con el fix: pasa en 18s.
  • Revirtiendo markFinished: false a proposito: falla con Week Ready (the aha moment) never appeared — the flow skipped step 5, exactamente la asercion esperada.

Suite completa (unit + UI): 27 tests, TEST SUCCEEDED.

Implementado en `79423e3`. - Target `MealMoodUITests` creado con la gema `xcodeproj` (no a mano sobre el pbxproj) y registrado en el TestAction del scheme `MealMood`. `CODE_SIGNING_ALLOWED = NO`: es un bundle de simulador y asi no necesita los perfiles manuales que usan app y widget. - `OnboardingFlowUITests.testOnboardingReachesWeekReadyAndPaywallBeforeTheHome` recorre los 7 pasos en instalacion limpia. - `accessibilityIdentifier` en los CTA de los pasos 0-6, en el titulo de Week Ready y en la raiz de HomeView. - El test fija el idioma a ingles por launch argument y descarta el dialogo de Apple Account que el simulador levanta al arrancar. **Validado en los dos sentidos**, que es lo que hace que el test valga algo: - Con el fix: pasa en 18s. - Revirtiendo `markFinished: false` a proposito: falla con *Week Ready (the aha moment) never appeared — the flow skipped step 5*, exactamente la asercion esperada. Suite completa (unit + UI): 27 tests, TEST SUCCEEDED.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexandrev/FamilyMealPlanner#3