2024-11-04 14:22:50 +00:00
|
|
|
//
|
|
|
|
// Copyright 2024 New Vector Ltd.
|
|
|
|
//
|
2025-01-06 11:27:37 +01:00
|
|
|
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
|
|
// Please see LICENSE files in the repository root for full details.
|
2024-11-04 14:22:50 +00:00
|
|
|
//
|
|
|
|
|
|
|
|
import XCTest
|
|
|
|
|
|
|
|
@MainActor
|
|
|
|
class EncryptionResetUITests: XCTestCase {
|
|
|
|
var app: XCUIApplication!
|
|
|
|
|
|
|
|
@MainActor enum Step {
|
|
|
|
static let resetScreen = 0
|
|
|
|
static let passwordScreen = 1
|
|
|
|
static let resetingEncryption = 2
|
|
|
|
}
|
|
|
|
|
|
|
|
func testPasswordFlow() async throws {
|
|
|
|
app = Application.launch(.encryptionReset)
|
|
|
|
|
|
|
|
// Starting with the root screen.
|
|
|
|
try await app.assertScreenshot(.encryptionReset, step: Step.resetScreen)
|
|
|
|
|
|
|
|
// Confirm the intent to reset.
|
|
|
|
app.buttons[A11yIdentifiers.encryptionResetScreen.continueReset].tap()
|
|
|
|
app.buttons[A11yIdentifiers.alertInfo.primaryButton].tap()
|
2024-11-14 16:44:36 +02:00
|
|
|
|
|
|
|
try await Task.sleep(for: .seconds(2.0))
|
|
|
|
|
2024-11-04 14:22:50 +00:00
|
|
|
try await app.assertScreenshot(.encryptionReset, step: Step.passwordScreen)
|
|
|
|
|
|
|
|
// Enter the password and submit.
|
|
|
|
let passwordField = app.secureTextFields[A11yIdentifiers.encryptionResetPasswordScreen.passwordField]
|
|
|
|
passwordField.clearAndTypeText("supersecurepassword", app: app)
|
|
|
|
app.buttons[A11yIdentifiers.encryptionResetPasswordScreen.submit].tap()
|
2025-01-08 10:55:26 +02:00
|
|
|
try await app.assertScreenshot(.encryptionReset, step: Step.resetingEncryption, delay: .seconds(0.5))
|
2024-11-04 14:22:50 +00:00
|
|
|
}
|
|
|
|
}
|