field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | README | LICENSE

commit bf75432888da21d7fee24438684463b483bb442b
parent 1513b3e0981030fe6d7ee593b373521ce8fce3c2
Author: triesap <tyson@radroots.org>
Date:   Mon, 31 Aug 2026 21:02:54 +0000

test(ios): observe stable prepared media

- replace the transient Photo status-message oracle
- wait on the durable prepared-media UI element
- preserve visible-action and accessibility evidence
- unblock complete deterministic persona reruns

Diffstat:
MRadrootsUITests/RadrootsRemoteQualificationUITests.swift | 11+----------
1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/RadrootsUITests/RadrootsRemoteQualificationUITests.swift b/RadrootsUITests/RadrootsRemoteQualificationUITests.swift @@ -934,18 +934,9 @@ final class RadrootsRemoteQualificationUITests: XCTestCase { XCTAssertTrue(library.waitForExistence(timeout: 10)) XCTAssertTrue(library.isEnabled) library.tap() - let preparedStatus = app.staticTexts.matching( - identifier: "radroots.add.status" - ).matching( - NSPredicate(format: "label == 'Photo prepared. Add descriptive text before publishing.'") - ).firstMatch - guard preparedStatus.waitForExistence(timeout: 60) else { - XCTFail("The governed Photo update image preparation did not complete") - throw QualificationError.missingProductSurface - } let prepared = app.descendants(matching: .any)["radroots.add.media.prepared"] scrollTo(app, element: prepared) - guard prepared.waitForExistence(timeout: 10) else { + guard prepared.waitForExistence(timeout: 60) else { XCTFail("The governed prepared Photo update was unavailable through the visible UI") throw QualificationError.missingProductSurface }