-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
Copy pathActivityFriendBackingViewModelTests.swift
66 lines (53 loc) · 1.88 KB
/
ActivityFriendBackingViewModelTests.swift
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@testable import KsApi
@testable import Library
import Prelude
import ReactiveExtensions_TestHelpers
import XCTest
internal final class ActivityFriendBackingViewModelTests: TestCase {
fileprivate let vm: ActivityFriendBackingViewModelType = ActivityFriendBackingViewModel()
fileprivate let cellAccessibilityLabel = TestObserver<String, Never>()
fileprivate let friendTitleLabel = TestObserver<String, Never>()
override func setUp() {
super.setUp()
self.vm.outputs.friendTitle.map { $0.string }.observe(self.friendTitleLabel.observer)
self.vm.outputs.cellAccessibilityLabel.observe(self.cellAccessibilityLabel.observer)
}
func testFrientTitle_ParentCategory() {
let games = Project.Category.template
|> \.id .~ 12
|> \.name .~ "Games"
self.vm.inputs.configureWith(
activity:
.template
|> Activity.lens.category .~ .backing
|> Activity.lens.project .~ (.template |> \.category .~ games)
)
self.friendTitleLabel.assertValues(["Blob backed a Games project."])
}
func testFrientTitle_SubCategory() {
let illustration = Project.Category.template
|> \.id .~ 25
|> \.name .~ "Illustration"
|> \.parentId .~ 1
|> \.parentName .~ "Art"
self.vm.inputs.configureWith(
activity:
.template
|> Activity.lens.category .~ .backing
|> Activity.lens.project .~ (.template |> \.category .~ illustration)
)
self.friendTitleLabel.assertValues(["Blob backed an Art project."])
}
func testAccessibility() {
let games = Project.Category.template
|> \.id .~ 12
|> \.name .~ "Games"
self.vm.inputs.configureWith(
activity:
.template
|> Activity.lens.category .~ .backing
|> Activity.lens.project .~ (.template |> \.category .~ games)
)
self.cellAccessibilityLabel.assertValues(["Blob backed a Games project., The Project"])
}
}