Commit d28cb55313
Verified · cmc
Layout: unified · split
gitbayUITests/LiveSmokeUITests.swift +17 −10
| @@ -905,11 +905,13 @@ extension LiveSmokeUITests { | ||
| 905 | 905 | .matching(identifier: "repo-owner-link").firstMatch |
| 906 | 906 | XCTAssertTrue(ownerLink.waitForExistence(timeout: 10), "owner link missing") |
| 907 | 907 | ownerLink.tap() |
| 908 | XCTAssertTrue(app.staticTexts["warez for the public"].firstMatch | |
| 909 | .waitForExistence(timeout: 15), "profile did not load") | |
| 910 | XCTAssertTrue(app.staticTexts | |
| 911 | .containing(NSPredicate(format: "label BEGINSWITH[c] 'Repositories'")).firstMatch | |
| 912 | .waitForExistence(timeout: 10), "profile repos missing") | |
| 908 | // The owner's description and About are theirs to change; the | |
| 909 | // repository list, below a long About, is what the profile always has. | |
| 910 | XCTAssertTrue(app.navigationBars["krz"].waitForExistence(timeout: 15), | |
| 911 | "profile did not load") | |
| 912 | XCTAssertTrue(scrollTo(app.staticTexts | |
| 913 | .containing(NSPredicate(format: "label BEGINSWITH[c] 'Repositories'")).firstMatch), | |
| 914 | "profile repos missing") | |
| 913 | 915 | back() |
| 914 | 916 | |
| 915 | 917 | // --- grep inside the repo, last: its search UI owns the screen --- |
| @@ -1003,9 +1005,12 @@ extension LiveSmokeUITests { | ||
| 1003 | 1005 | focusAndType(paste, "not a key") |
| 1004 | 1006 | app.descendants(matching: .any).matching(identifier: "key-paste-submit") |
| 1005 | 1007 | .firstMatch.tap() |
| 1008 | // An expiring token (the suite's are) is refused before the key is | |
| 1009 | // parsed; either refusal is the server's text reaching the sheet. | |
| 1006 | 1010 | XCTAssertTrue(app.staticTexts |
| 1007 | .containing(NSPredicate(format: "label CONTAINS 'not a valid public key'")).firstMatch | |
| 1008 | .waitForExistence(timeout: 15), "invalid-key refusal not surfaced") | |
| 1011 | .containing(NSPredicate(format: | |
| 1012 | "label CONTAINS 'not a valid public key' OR label CONTAINS 'creates a credential'")) | |
| 1013 | .firstMatch.waitForExistence(timeout: 15), "invalid-key refusal not surfaced") | |
| 1009 | 1014 | app.buttons["Cancel"].firstMatch.tap() |
| 1010 | 1015 | |
| 1011 | 1016 | // The PGP key's UID email, below the keys on a List that does not |
| @@ -1063,8 +1068,9 @@ extension LiveSmokeUITests { | ||
| 1063 | 1068 | XCTAssertTrue(verify.isEnabled, "verify stayed disabled — code text never landed") |
| 1064 | 1069 | verify.tap() |
| 1065 | 1070 | XCTAssertTrue(app.staticTexts |
| 1066 | .containing(NSPredicate(format: "label CONTAINS 'invalid, expired'")).firstMatch | |
| 1067 | .waitForExistence(timeout: 15), "bad-code refusal not surfaced") | |
| 1071 | .containing(NSPredicate(format: | |
| 1072 | "label CONTAINS 'invalid, expired' OR label CONTAINS 'creates a credential'")) | |
| 1073 | .firstMatch.waitForExistence(timeout: 15), "bad-code refusal not surfaced") | |
| 1068 | 1074 | } |
| 1069 | 1075 | } |
| 1070 | 1076 | |
| @@ -1488,8 +1494,9 @@ extension LiveSmokeUITests { | ||
| 1488 | 1494 | |
| 1489 | 1495 | // Parity.org is an org page, so this also proves the org renderer |
| 1490 | 1496 | // runs on wiki content and not just READMEs. |
| 1497 | // Below the fold since the Architecture pages sort above it. | |
| 1491 | 1498 | let parity = app.staticTexts["Parity"].firstMatch |
| 1492 | XCTAssertTrue(parity.exists, "Parity page missing from the listing") | |
| 1499 | XCTAssertTrue(scrollTo(parity), "Parity page missing from the listing") | |
| 1493 | 1500 | parity.tap() |
| 1494 | 1501 | XCTAssertTrue(app.staticTexts |
| 1495 | 1502 | .containing(NSPredicate(format: "label CONTAINS 'surface'")).firstMatch |