Add 3 passing UI tests (batch 4): personality pack, Spanish locale, accessibility text size

- TC-052: Personality pack selection in Customize tab with accessibility IDs
- TC-137: Spanish localization verification (Ajustes, tab labels)
- TC-142: App navigable at XXL accessibility text size

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-02-20 10:15:20 -06:00
parent f83c52fb42
commit 6d1f54f451
9 changed files with 208 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
//
// PersonalityPackTests.swift
// Tests iOS
//
// TC-052: Select personality pack in Customize tab.
//
import XCTest
final class PersonalityPackTests: BaseUITestCase {
override var seedFixture: String? { "single_mood" }
override var bypassSubscription: Bool { true }
/// TC-052: Selecting a different personality pack updates the checkmark.
func testPersonalityPack_SelectCoach() {
let tabBar = TabBarScreen(app: app)
let settingsScreen = tabBar.tapSettings()
settingsScreen.assertVisible()
settingsScreen.tapCustomizeTab()
let customizeScreen = CustomizeScreen(app: app)
// Scroll down to personality pack section and select "Coach"
customizeScreen.selectPersonalityPack("Coach")
// Verify the Coach button is now selected checkmark image should appear
let checkmark = app.images.matching(
NSPredicate(format: "label CONTAINS 'checkmark'")
).firstMatch
// The Coach pack button should exist and the checkmark should be near it
let coachButton = customizeScreen.personalityPackButton(named: "Coach")
XCTAssertTrue(
coachButton.exists,
"Coach personality pack button should still be visible after selection"
)
captureScreenshot(name: "personality_pack_coach_selected")
// Switch to a different pack to verify we can cycle
customizeScreen.selectPersonalityPack("Zen")
let zenButton = customizeScreen.personalityPackButton(named: "Zen")
XCTAssertTrue(
zenButton.exists,
"Zen personality pack button should be visible after selection"
)
captureScreenshot(name: "personality_pack_zen_selected")
}
}