* Don't query the homeserver until confirming it (or selecting a different one). * Setup the infrastructure to test AuthenticationService. Implement basic tests for configuration & password login. * Use the real AuthenticationService with a mock Client in all of the tests. * Add tests for the ServerConfirmationScreenViewModel. * Remove redundant view state and test for it.
33 lines
1.3 KiB
Swift
33 lines
1.3 KiB
Swift
//
|
|
// Copyright 2022-2024 New Vector Ltd.
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
// Please see LICENSE in the repository root for full details.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
enum MockServerSelectionScreenState: CaseIterable {
|
|
case matrix
|
|
case emptyAddress
|
|
case invalidAddress
|
|
|
|
/// Generate the view struct for the screen state.
|
|
@MainActor var viewModel: ServerSelectionScreenViewModel {
|
|
switch self {
|
|
case .matrix:
|
|
return ServerSelectionScreenViewModel(homeserverAddress: "https://matrix.org",
|
|
slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL)
|
|
|
|
case .emptyAddress:
|
|
return ServerSelectionScreenViewModel(homeserverAddress: "",
|
|
slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL)
|
|
case .invalidAddress:
|
|
let viewModel = ServerSelectionScreenViewModel(homeserverAddress: "thisisbad",
|
|
slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL)
|
|
viewModel.displayError(.footerMessage(L10n.errorUnknown))
|
|
return viewModel
|
|
}
|
|
}
|
|
}
|