Skip to content

Commit 1ebdee0

Browse files
committed
add tests for completable action
1 parent 12774dd commit 1ebdee0

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

Tests/ActionTests/ActionTests.swift

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,35 @@ class ActionTests: QuickSpec {
1414
scheduler = TestScheduler(initialClock: 0)
1515
disposeBag = DisposeBag()
1616
}
17-
17+
18+
describe("completable action") {
19+
var action: CompletableAction<String>!
20+
beforeEach {
21+
let work: Completable = Observable<Never>.empty().asCompletable()
22+
action = CompletableAction {_ in work }
23+
scheduler.scheduleAt(10) { action.inputs.onNext("a") }
24+
scheduler.scheduleAt(20) { action.inputs.onNext("b") }
25+
}
26+
afterEach {
27+
action = nil
28+
}
29+
it("inputs subject receives generated inputs") {
30+
let inputs = scheduler.createObserver(String.self)
31+
action.inputs.bind(to: inputs).disposed(by: disposeBag)
32+
scheduler.start()
33+
XCTAssertEqual(inputs.events, [
34+
next(10, "a"),
35+
next(20, "b"),
36+
])
37+
}
38+
it("emits nothing on `elements`") {
39+
let elements = scheduler.createObserver(Never.self)
40+
action.elements.bind(to: elements).disposed(by: disposeBag)
41+
scheduler.start()
42+
XCTAssertEqual(elements.events.count, 0)
43+
}
44+
}
45+
1846
describe("action properties") {
1947
var inputs: TestableObserver<String>!
2048
var elements: TestableObserver<String>!

0 commit comments

Comments
 (0)