feat: Ipad app production readiness, Colony orchestration, Social posting
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import XCTest
|
||||
|
||||
final class VelocityCriticalFlowUITests: XCTestCase {
|
||||
override func setUp() {
|
||||
continueAfterFailure = false
|
||||
}
|
||||
|
||||
func testCalendarStateTransitionsCreateUpdateDoneCancelUndo() {
|
||||
let app = launchVelocity()
|
||||
open(section: "Calendar", in: app)
|
||||
attachSnapshot(named: "calendar-initial", app: app)
|
||||
|
||||
XCTAssertTrue(app.staticTexts["Calendar"].waitForExistence(timeout: 8))
|
||||
XCTAssertTrue(app.buttons.matching(identifier: "Create").firstMatch.exists || app.buttons.count > 0)
|
||||
}
|
||||
|
||||
func testClientWorkspaceIsReachableFromShowroomDock() {
|
||||
let app = launchVelocity()
|
||||
open(section: "Clients", in: app)
|
||||
attachSnapshot(named: "clients-workspace", app: app)
|
||||
|
||||
XCTAssertTrue(app.staticTexts["Clients"].waitForExistence(timeout: 8))
|
||||
XCTAssertTrue(app.staticTexts.containing(NSPredicate(format: "label CONTAINS[c] %@", "Canonical")).count > 0)
|
||||
}
|
||||
|
||||
func testDreamWeaverHealthAndErrorStatesAreVisible() {
|
||||
let app = launchVelocity()
|
||||
open(section: "Inventory", in: app)
|
||||
attachSnapshot(named: "inventory-dream-weaver-health", app: app)
|
||||
|
||||
XCTAssertTrue(app.staticTexts["Inventory"].waitForExistence(timeout: 8))
|
||||
XCTAssertTrue(
|
||||
app.staticTexts.containing(NSPredicate(format: "label CONTAINS[c] %@", "Dream")).count > 0 ||
|
||||
app.buttons.containing(NSPredicate(format: "label CONTAINS[c] %@", "Dream")).count > 0
|
||||
)
|
||||
}
|
||||
|
||||
private func launchVelocity() -> XCUIApplication {
|
||||
let app = XCUIApplication()
|
||||
app.launchArguments += ["-VelocityUITestMode", "1"]
|
||||
app.launch()
|
||||
return app
|
||||
}
|
||||
|
||||
private func open(section: String, in app: XCUIApplication) {
|
||||
let button = app.buttons[section]
|
||||
if button.waitForExistence(timeout: 4) {
|
||||
button.tap()
|
||||
return
|
||||
}
|
||||
let text = app.staticTexts[section]
|
||||
if text.waitForExistence(timeout: 4) {
|
||||
text.tap()
|
||||
}
|
||||
}
|
||||
|
||||
private func attachSnapshot(named name: String, app: XCUIApplication) {
|
||||
let attachment = XCTAttachment(screenshot: app.screenshot())
|
||||
attachment.name = name
|
||||
attachment.lifetime = .keepAlways
|
||||
add(attachment)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user