-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChooseCategoryControllerSpec.swift
48 lines (38 loc) · 1.52 KB
/
ChooseCategoryControllerSpec.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
//
// ChooseCategoryControllerSpec.swift
// YardClub
//
// Created by James Craige on 5/30/15.
// Copyright (c) 2015 thoughtbot. All rights reserved.
//
import Quick
import Nimble
import ReactiveCocoa
class ChooseCategoryControllerSpec: QuickSpec {
override func spec() {
describe(".categories") {
it("is bound to the apiClient.getCategories.values") {
let client = FakeApiClient()
let controller = ChooseCategoryController(apiClient: client)
let category = Category(id: 0, name: "FakeCategory")
expect(controller.categories.value).to(beEmpty())
controller.requestCategories()
sendNext(client.categoriesSink, [category])
expect(controller.categories.value).toEventuallyNot(beEmpty())
}
}
describe("categoryForIndexPath") {
it("returns the correct category") {
let client = FakeApiClient()
let controller = ChooseCategoryController(apiClient: client)
let category = Category(id: 0, name: "FakeCategory")
let indexPath = NSIndexPath(forRow: 0, inSection: 0)
expect(controller.categories.value).to(beEmpty())
controller.requestCategories()
sendNext(client.categoriesSink, [category])
let categoryAtIndexPath = controller.categoryForIndexPath(indexPath)
expect(categoryAtIndexPath) == category
}
}
}
}