Untitled
unknown
swift
3 years ago
2.4 kB
6
Indexable
`
//
// FakeLocalAuthenticationContext.swift
// SendMoney
//
// Created by Mateusz Kuznik on 27/10/2017.
//Copyright © 2017 Azimo Ltd. All rights reserved.
//
import Foundation
@testable import Azimo
import AzimoTestKit
import LocalAuthentication
enum LocalAuthenticationContextMethods {
case canEvaluatePolicy
case evaluatePolicy
case hasSupportForBiometryType
}
enum LocalAuthenticationContextMethodsParameters: String {
case policy
case error
case localizedReason
case reply
}
class FakeLocalAuthenticationContext: LocalAuthenticationContext, FakeObject {
var biometryType: LABiometryType
typealias MethodType = LocalAuthenticationContextMethods
init(biometryType: LABiometryType = .none) {
self.biometryType = biometryType
}
var invocations = [FakeInvocation<MethodType>]()
var invocationsToReturn = [FakeInvocationResponse<MethodType, Any?>]()
func canEvaluatePolicy(_ policy: LAPolicy, error: NSErrorPointer) -> Bool {
let parameters: [String: Any] = [
LocalAuthenticationContextMethodsParameters.policy.rawValue: policy,
LocalAuthenticationContextMethodsParameters.error.rawValue: error as Any]
let invocation = createInvocation(.canEvaluatePolicy, parameters: parameters)
invocations.append(invocation)
return responseValue(forInvocation: invocation, defaultValue: false)
}
func evaluatePolicy(_ policy: LAPolicy, localizedReason: String, reply: @escaping (Bool, Error?) -> Void) {
let parameters: [String: Any] = [
LocalAuthenticationContextMethodsParameters.policy.rawValue: policy,
LocalAuthenticationContextMethodsParameters.localizedReason.rawValue: localizedReason,
LocalAuthenticationContextMethodsParameters.reply.rawValue: reply
]
let invocation = createInvocation(.evaluatePolicy, parameters: parameters)
invocations.append(invocation)
}
func hasSupportForBiometryType() -> Bool {
let invocation = createInvocation(.hasSupportForBiometryType)
invocations.append(invocation)
return responseValue(forInvocation: invocation, defaultValue: true)
}
}`Editor is loading...