* Add a picker mode to the ServerConfirmationScreen. * Hook up the account provider picker in authentication the flow. Simplify the authentication flow coordinator, removing the restricted state. * UI/Snapshot tests.
42 lines
2.4 KiB
Swift
42 lines
2.4 KiB
Swift
//
|
|
// Copyright 2023, 2024 New Vector Ltd.
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
// Please see LICENSE files in the repository root for full details.
|
|
//
|
|
|
|
import XCTest
|
|
|
|
@testable import ElementX
|
|
|
|
@MainActor
|
|
class ServerConfirmationScreenViewStateTests: XCTestCase {
|
|
func testLoginMessageString() {
|
|
let matrixDotOrgLogin = ServerConfirmationScreenViewState(mode: .confirmation(LoginHomeserver.mockMatrixDotOrg.address),
|
|
authenticationFlow: .login)
|
|
XCTAssertEqual(matrixDotOrgLogin.message, L10n.screenServerConfirmationMessageLoginMatrixDotOrg, "matrix.org should have a custom message.")
|
|
|
|
let elementDotIoLogin = ServerConfirmationScreenViewState(mode: .confirmation("element.io"),
|
|
authenticationFlow: .login)
|
|
XCTAssertEqual(elementDotIoLogin.message, L10n.screenServerConfirmationMessageLoginElementDotIo, "element.io should have a custom message.")
|
|
|
|
let otherLogin = ServerConfirmationScreenViewState(mode: .confirmation(LoginHomeserver.mockOIDC.address),
|
|
authenticationFlow: .login)
|
|
XCTAssertEqual(otherLogin.message, "", "Other servers should not show a message.")
|
|
|
|
let pickerLogin = ServerConfirmationScreenViewState(mode: .picker(["element.io", "matrix.org"]),
|
|
authenticationFlow: .login)
|
|
XCTAssertNil(pickerLogin.message, "The picker mode should not show a message.")
|
|
}
|
|
|
|
func testRegisterMessageString() {
|
|
let matrixDotOrgRegister = ServerConfirmationScreenViewState(mode: .confirmation(LoginHomeserver.mockMatrixDotOrg.address),
|
|
authenticationFlow: .register)
|
|
XCTAssertEqual(matrixDotOrgRegister.message, L10n.screenServerConfirmationMessageRegister, "The registration message should always be the same.")
|
|
|
|
let oidcRegister = ServerConfirmationScreenViewState(mode: .confirmation(LoginHomeserver.mockOIDC.address),
|
|
authenticationFlow: .register)
|
|
XCTAssertEqual(oidcRegister.message, L10n.screenServerConfirmationMessageRegister, "The registration message should always be the same.")
|
|
}
|
|
}
|