Add AppLockSetupBiometricsScreen. (#1942)

This commit is contained in:
Doug
2023-10-23 16:18:25 +01:00
committed by GitHub
parent db5a3a7ba4
commit 65b7c1df20
14 changed files with 471 additions and 15 deletions
@@ -0,0 +1,61 @@
//
// Copyright 2022 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import XCTest
@testable import ElementX
@MainActor
class AppLockSetupBiometricsScreenViewModelTests: XCTestCase {
var appLockService: AppLockService!
var keychainController: KeychainControllerMock!
var viewModel: AppLockSetupBiometricsScreenViewModelProtocol!
var context: AppLockSetupBiometricsScreenViewModelType.Context { viewModel.context }
override func setUp() {
AppSettings.reset()
keychainController = KeychainControllerMock()
appLockService = AppLockService(keychainController: keychainController, appSettings: AppSettings())
viewModel = AppLockSetupBiometricsScreenViewModel(appLockService: appLockService)
}
override func tearDown() {
AppSettings.reset()
}
func testAllow() async throws {
// Given a service that has biometric unlock disabled.
XCTAssertFalse(appLockService.biometricUnlockEnabled)
// When allowing Touch/Face ID.
context.send(viewAction: .allow)
// Then the service should now have biometric unlock enabled.
XCTAssertTrue(appLockService.biometricUnlockEnabled)
}
func testSkip() async throws {
// Given a service that has biometric unlock disabled.
XCTAssertFalse(appLockService.biometricUnlockEnabled)
// When skipping biometrics.
context.send(viewAction: .skip)
// Then the service should now have biometric unlock enabled.
XCTAssertFalse(appLockService.biometricUnlockEnabled)
}
}
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb397dc5c399e5859733ae04c2057a25bc53e1fbe97d91a2407c01aa562d18e2
size 99917
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b970f859c66bb2037ca1a509c9874b624967afbd0b97b05ef0b6172a921c370f
size 111799