55 lines
1.7 KiB
Swift
55 lines
1.7 KiB
Swift
import XCTest
|
|
|
|
enum TestFlows {
|
|
@discardableResult
|
|
static func navigateToLoginFromOnboarding(app: XCUIApplication) -> LoginScreen {
|
|
let welcome = OnboardingWelcomeScreen(app: app)
|
|
welcome.waitForLoad()
|
|
welcome.tapAlreadyHaveAccount()
|
|
|
|
let login = LoginScreen(app: app)
|
|
login.waitForLoad()
|
|
return login
|
|
}
|
|
|
|
@discardableResult
|
|
static func navigateStartFreshToCreateAccount(
|
|
app: XCUIApplication,
|
|
residenceName: String = "UI Test Residence"
|
|
) -> OnboardingCreateAccountScreen {
|
|
let welcome = OnboardingWelcomeScreen(app: app)
|
|
welcome.waitForLoad()
|
|
welcome.tapStartFresh()
|
|
|
|
let valueProps = OnboardingValuePropsScreen(app: app)
|
|
valueProps.waitForLoad()
|
|
valueProps.tapContinue()
|
|
|
|
let nameResidence = OnboardingNameResidenceScreen(app: app)
|
|
nameResidence.waitForLoad()
|
|
nameResidence.enterResidenceName(residenceName)
|
|
nameResidence.tapContinue()
|
|
|
|
let createAccount = OnboardingCreateAccountScreen(app: app)
|
|
createAccount.waitForLoad()
|
|
return createAccount
|
|
}
|
|
|
|
@discardableResult
|
|
static func openRegisterFromLogin(app: XCUIApplication) -> RegisterScreen {
|
|
let login: LoginScreen
|
|
let loginRoot = app.otherElements[UITestID.Root.login]
|
|
if loginRoot.exists || app.textFields[UITestID.Auth.usernameField].exists {
|
|
login = LoginScreen(app: app)
|
|
login.waitForLoad()
|
|
} else {
|
|
login = navigateToLoginFromOnboarding(app: app)
|
|
}
|
|
login.tapSignUp()
|
|
|
|
let register = RegisterScreen(app: app)
|
|
register.waitForLoad()
|
|
return register
|
|
}
|
|
}
|