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 XXClient
import XCTest
@testable import XXMessengerClient
final class MessengerStartGroupChatTests: XCTestCase {
func testStart() throws {
var didCreateNewGroupChatWithE2eId: [Int] = []
var didSetGroupChat: [GroupChat?] = []
let e2eId = 123
var env: MessengerEnvironment = .unimplemented
env.e2e.get = {
var e2e: E2E = .unimplemented
e2e.getId.run = { e2eId }
return e2e
}
env.groupRequests.registered = { .unimplemented }
env.groupChatProcessors.registered = { .unimplemented }
env.newGroupChat.run = { e2eId, _, _ in
didCreateNewGroupChatWithE2eId.append(e2eId)
return .unimplemented
}
env.groupChat.set = { groupChat in
didSetGroupChat.append(groupChat)
}
let start: MessengerStartGroupChat = .live(env)
try start()
XCTAssertEqual(didCreateNewGroupChatWithE2eId, [e2eId])
XCTAssertEqual(didSetGroupChat.map { $0 != nil }, [true])
}
func testStartWithoutE2E() throws {
var env: MessengerEnvironment = .unimplemented
env.e2e.get = { nil }
let start: MessengerStartGroupChat = .live(env)
XCTAssertThrowsError(try start()) { error in
XCTAssertEqual(error as? MessengerStartGroupChat.Error, .notConnected)
}
}
}