Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import CustomDump
import XCTest
import XXClient
@testable import XXMessengerClient
final class MessengerSetLogLevelTests: XCTestCase {
func testSetLogLevel() throws {
var didSetLogLevel: [LogLevel] = []
var env: MessengerEnvironment = .unimplemented
env.setLogLevel.run = { level in
didSetLogLevel.append(level)
return true
}
let setLogLevel: MessengerSetLogLevel = .live(env)
let result = try setLogLevel(.debug)
XCTAssertNoDifference(didSetLogLevel, [.debug])
XCTAssertNoDifference(result, true)
}
func testSetLogLevelReturnsFalse() throws {
var env: MessengerEnvironment = .unimplemented
env.setLogLevel.run = { _ in return false }
let setLogLevel: MessengerSetLogLevel = .live(env)
let result = try setLogLevel(.debug)
XCTAssertNoDifference(result, false)
}
func testSetLogLevelFailure() {
struct Failure: Error, Equatable {}
let failure = Failure()
var env: MessengerEnvironment = .unimplemented
env.setLogLevel.run = { _ in throw failure }
let setLogLevel: MessengerSetLogLevel = .live(env)
XCTAssertThrowsError(try setLogLevel(.debug)) { error in
XCTAssertNoDifference(error as NSError, failure as NSError)
}
}
}