import XCTest /// Rebuild plan for legacy failures in Suite1_RegistrationTests: /// - test07, test09, test10, test11, test12 /// Coverage is split into smaller tests for easier isolation. final class Suite1_RegistrationRebuildTests: BaseUITestCase { override var includeResetStateLaunchArgument: Bool { false } func testR101_registerFormCanOpenFromLogin() { UITestHelpers.ensureOnLoginScreen(app: app) let register = TestFlows.openRegisterFromLogin(app: app) register.waitForLoad(timeout: defaultTimeout) } func testR102_registerFormAcceptsValidInput() { UITestHelpers.ensureOnLoginScreen(app: app) let register = TestFlows.openRegisterFromLogin(app: app) XCTAssertTrue(app.textFields[UITestID.Auth.registerUsernameField].exists) XCTAssertTrue(app.textFields[UITestID.Auth.registerEmailField].exists) XCTAssertTrue(app.secureTextFields[UITestID.Auth.registerPasswordField].exists) XCTAssertTrue(app.secureTextFields[UITestID.Auth.registerConfirmPasswordField].exists) XCTAssertTrue(app.buttons[UITestID.Auth.registerButton].exists) } func testR103_successfulRegistrationTransitionsToVerificationGate() throws { throw XCTSkip("Skeleton: submit valid registration and assert verification gate") } func testR104_verificationGateBlocksMainAppBeforeCodeEntry() throws { throw XCTSkip("Skeleton: assert no tab bar access while unverified") } func testR105_validVerificationCodeTransitionsToMainApp() throws { throw XCTSkip("Skeleton: use deterministic verification code fixture and assert main app root") } func testR106_mainAppSessionAfterVerificationCanReachProfile() throws { throw XCTSkip("Skeleton: assert verified user can navigate tab bar and profile") } func testR107_invalidVerificationCodeShowsErrorAndStaysBlocked() throws { throw XCTSkip("Skeleton: replacement for legacy test09") } func testR108_incompleteVerificationCodeDoesNotCompleteVerification() throws { throw XCTSkip("Skeleton: replacement for legacy test10") } func testR109_verifyButtonDisabledForIncompleteCode() throws { throw XCTSkip("Skeleton: optional split from legacy test10 button state assertion") } func testR110_relaunchUnverifiedUserNeverLandsInMainApp() throws { throw XCTSkip("Skeleton: replacement for legacy test11") } func testR111_relaunchUnverifiedUserResumesVerificationOrLoginGate() throws { throw XCTSkip("Skeleton: acceptable states after relaunch") } func testR112_logoutFromVerificationReturnsToLogin() throws { throw XCTSkip("Skeleton: replacement for legacy test12") } func testR113_verificationElementsDisappearAfterLogout() throws { throw XCTSkip("Skeleton: split assertion from legacy test12") } func testR114_logoutFromVerifiedMainAppReturnsToLogin() throws { throw XCTSkip("Skeleton: split assertion from legacy test07 cleanup") } }