// // TodayScreen.swift // PlantGuideUITests // // Screen object for the Today tab (care tasks dashboard). // import XCTest struct TodayScreen { let app: XCUIApplication // MARK: - Elements /// The Today view uses a dynamic greeting as navigation title. /// We check for the nav bar existence rather than a fixed title. var navigationBar: XCUIElement { app.navigationBars.firstMatch } var todaySection: XCUIElement { app.otherElements[UITestID.CareSchedule.todaySection] } var overdueSection: XCUIElement { app.otherElements[UITestID.CareSchedule.overdueSection] } var emptyStateView: XCUIElement { app.otherElements[UITestID.CareSchedule.emptyStateView] } // MARK: - State Checks @discardableResult func waitForLoad(timeout: TimeInterval = 10) -> Bool { // The Today view has a dynamic nav title (greeting) so we just wait for any nav bar navigationBar.waitForExistence(timeout: timeout) } }