mirror of
https://github.com/luxfi/safe-ios.git
synced 2026-10-30 15:19:20 +00:00
61 lines
1.8 KiB
Swift
61 lines
1.8 KiB
Swift
//
|
|
// Copyright © 2018 Gnosis Ltd. All rights reserved.
|
|
//
|
|
|
|
import XCTest
|
|
@testable import Multisig
|
|
|
|
class CrashlyticsLoggerTests: XCTestCase {
|
|
|
|
var logger: CrashlyticsLogger!
|
|
let mockCrashlytics = MockCrashlytics()
|
|
let testMessage = "Test Error"
|
|
|
|
override func setUp() {
|
|
super.setUp()
|
|
logger = CrashlyticsLogger(crashlytics: mockCrashlytics)
|
|
}
|
|
|
|
func test_whenLoggingWithoutError_thenNothingHappens() {
|
|
logger.log(testMessage, level: .error, error: nil, file: "", line: 0, function: "")
|
|
XCTAssertNil(mockCrashlytics.loggedError)
|
|
}
|
|
|
|
func test_whenLoggingWithError_thenLogged() {
|
|
logger.log(testMessage, level: .error, error: TestLoggableError.error, file: "", line: 0, function: "")
|
|
XCTAssertEqual(mockCrashlytics.loggedError?.localizedDescription, TestLoggableError.error.localizedDescription)
|
|
}
|
|
|
|
func test_whenLoggingWithError_thenUserInfoHasMessage() {
|
|
logger.log(testMessage, level: .error, error: TestLoggableError.error, file: "", line: 0, function: "")
|
|
XCTAssertEqual((mockCrashlytics.loggedError as NSError?)?.userInfo["message"] as? String, testMessage)
|
|
}
|
|
|
|
func test_whenLoggingLoggableError_thenUserInfoHasLoggableKeys() {
|
|
logger.log(testMessage, level: .error, error: TestLoggableError.error, file: "", line: 0, function: "")
|
|
XCTAssertEqual((mockCrashlytics.loggedError as NSError?)?.userInfo[LoggableErrorDescriptionKey] as? String,
|
|
"error")
|
|
}
|
|
|
|
}
|
|
|
|
class MockCrashlytics: CrashlyticsProtocol {
|
|
var loggedError: Error?
|
|
|
|
func record(error: Error) {
|
|
loggedError = error
|
|
}
|
|
|
|
func setUserID(_ identifier: String) {
|
|
// empty
|
|
}
|
|
|
|
func log(format: String, arguments: CVaListPointer) {
|
|
// empty
|
|
}
|
|
|
|
func setCrashlyticsCollectionEnabled(_ enabled: Bool) {
|
|
// empty
|
|
}
|
|
}
|