pagination.rb
1.58 KB
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
class Test::Unit::TestCase
# Example:
# context "a GET to index signed in as admin" do
# setup do
# sign_in_as Factory(:admin_user)
# get :index
# end
# should_paginate_collection :users
# should_display_pagination
# end
def self.should_paginate_collection(collection_name)
should "paginate #{collection_name}" do
assert collection = assigns(collection_name),
"Controller isn't assigning to @#{collection_name.to_s}."
assert_kind_of WillPaginate::Collection, collection,
"@#{collection_name.to_s} isn't a WillPaginate collection."
end
end
def self.should_display_pagination
should "display pagination" do
assert_select "div.pagination", { :minimum => 1 },
"View isn't displaying pagination. Add <%= will_paginate @collection %>."
end
end
# Example:
# context "a GET to index not signed in as admin" do
# setup { get :index }
# should_not_paginate_collection :users
# should_not_display_pagination
# end
def self.should_not_paginate_collection(collection_name)
should "not paginate #{collection_name}" do
assert collection = assigns(collection_name),
"Controller isn't assigning to @#{collection_name.to_s}."
assert_not_equal WillPaginate::Collection, collection.class,
"@#{collection_name.to_s} is a WillPaginate collection."
end
end
def self.should_not_display_pagination
should "not display pagination" do
assert_select "div.pagination", { :count => 0 },
"View is displaying pagination. Check your logic."
end
end
end