Closed aleksandra-riazanova closed 8 months ago
Предложения:
private func makeSUT() -> (LoginScreenObject, XCUIApplication) { let app = XCUIApplication() let screen = LoginScreenObject(app: app) app.launch() return (screen, app) } func test_login_withValidCredentials_shouldBeTodoListAppeared() { let (sut, app) = makeSUT() sut .isLoginScreen() .set(login: LoginCredentials.valid.login) .set(password: LoginCredentials.valid.password) .login() TodoListScreenObject(app: app) .isTodoList() } func test_login_withInvalidCredentials_shouldBeAlert() { let (sut, _) = makeSUT() sut .isLoginScreen() .set(login: LoginCredentials.invalid.login) .set(password: LoginCredentials.invalid.password) .login() .closeAlert() } private enum LoginCredentials { static let valid: (login: String, password: String) = ("Admin", "pa$$32!") static let invalid: (login: String, password: String) = ("wrongLogin", "wrongPass") }
как пропускать экран
private func makeSUT() -> TodoListScreenObject { let app = XCUIApplication() let screen = TodoListScreenObject(app: app) app.launchArguments.append(LaunchArguments.enableTesting.rawValue) app.launchArguments.append("-skipLogin") // пропустить экран авторизации app.launch() return screen }
в AppCoordinator
override func start() { #if DEBUG if CommandLine.arguments.contains("-skipLogin") { runMainFlow() return } #endif runLoginFlow() }
Предложения:
как пропускать экран
в AppCoordinator