1
1
defmodule Scrivener.ListTest do
2
2
use Scrivener.List.TestCase
3
- @ languages [ "C#" , "C++" , "Clojure" , "Elixir" , "Erlang" , "Go" , "JAVA" , "JavaScript" , "Lisp" ,
4
- "PHP" , "Perl" , "Python" , "Ruby" , "Rust" , "SQL" ]
3
+
4
+ @ languages [
5
+ "C#" ,
6
+ "C++" ,
7
+ "Clojure" ,
8
+ "Elixir" ,
9
+ "Erlang" ,
10
+ "Go" ,
11
+ "JAVA" ,
12
+ "JavaScript" ,
13
+ "Lisp" ,
14
+ "PHP" ,
15
+ "Perl" ,
16
+ "Python" ,
17
+ "Ruby" ,
18
+ "Rust" ,
19
+ "SQL"
20
+ ]
5
21
@ total_entries length ( @ languages )
6
22
@ config % Scrivener.Config { page_number: 2 , page_size: 4 }
7
23
8
-
9
24
describe "paginate when using a repo module" do
10
25
test "can paginate a list using a Repo module - 1" do
11
26
page = Scrivener.Repo . paginate ( @ languages )
@@ -14,7 +29,7 @@ defmodule Scrivener.ListTest do
14
29
assert page . page_number == 1
15
30
assert page . entries == [ "C#" , "C++" , "Clojure" , "Elixir" , "Erlang" ]
16
31
assert page . total_entries == @ total_entries
17
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 5 )
32
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 5 )
18
33
end
19
34
20
35
test "can paginate a list using a Repo module - 2" do
@@ -25,7 +40,7 @@ defmodule Scrivener.ListTest do
25
40
assert page . page_size == 5
26
41
assert page . entries == [ "C#" , "C++" , "Clojure" ]
27
42
assert page . total_entries == 3
28
- assert page . total_pages == Float . ceil ( length ( languages ) / 5 )
43
+ assert page . total_pages == Float . ceil ( length ( languages ) / 5 )
29
44
end
30
45
31
46
test "can paginate a list when provided the current page and page size as a params map" do
@@ -35,7 +50,7 @@ defmodule Scrivener.ListTest do
35
50
assert page . page_number == 2
36
51
assert page . entries == [ "Elixir" , "Erlang" , "Go" ]
37
52
assert page . total_entries == @ total_entries
38
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
53
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
39
54
end
40
55
41
56
test "can paginate a list when only provided with the page size as a keyword list
@@ -45,7 +60,7 @@ defmodule Scrivener.ListTest do
45
60
assert page . page_size == 3
46
61
assert page . page_number == 1
47
62
assert page . entries == [ "C#" , "C++" , "Clojure" ]
48
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
63
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
49
64
assert page . total_entries == @ total_entries
50
65
end
51
66
@@ -56,23 +71,23 @@ defmodule Scrivener.ListTest do
56
71
assert page . page_size == 5
57
72
assert page . page_number == 2
58
73
assert page . entries == [ "Go" , "JAVA" , "JavaScript" , "Lisp" , "PHP" ]
59
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 5 )
74
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 5 )
60
75
assert page . total_entries == @ total_entries
61
76
end
62
77
63
78
test "can respect a max_page_size configuration" do
64
79
page = Scrivener.Repo . paginate ( @ languages , page: 2 , page_size: 200 )
65
80
66
81
assert page . page_size < 200
67
- assert page . page_size == 10 # this is the max_page_size set in the Repo `use` statement.
82
+ # this is the max_page_size set in the Repo `use` statement.
83
+ assert page . page_size == 10
68
84
assert page . page_number == 2
69
- assert page . entries == [ "Perl" , "Python" , "Ruby" , "Rust" , "SQL" ]
70
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 10 )
85
+ assert page . entries == [ "Perl" , "Python" , "Ruby" , "Rust" , "SQL" ]
86
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 10 )
71
87
assert page . total_entries == @ total_entries
72
88
end
73
89
end
74
90
75
-
76
91
describe "paginate without using a repo module" do
77
92
test "can paginate a list when passed a Scrivener.Config. t directly - 1" do
78
93
page = Scrivener . paginate ( @ languages , @ config )
@@ -81,7 +96,7 @@ defmodule Scrivener.ListTest do
81
96
assert page . page_size == 4
82
97
assert page . entries == [ "Erlang" , "Go" , "JAVA" , "JavaScript" ]
83
98
assert page . total_entries == @ total_entries
84
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 4 )
99
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 4 )
85
100
end
86
101
87
102
test "can paginate a list when passed a Scrivener.Config. t directly - 2" do
@@ -92,7 +107,7 @@ defmodule Scrivener.ListTest do
92
107
assert page . page_size == 4
93
108
assert page . entries == [ ]
94
109
assert page . total_entries == 3
95
- assert page . total_pages == Float . ceil ( length ( languages ) / 4 )
110
+ assert page . total_pages == Float . ceil ( length ( languages ) / 4 )
96
111
end
97
112
98
113
test "can paginate a list when provided the current page and page size as a params map" do
@@ -102,7 +117,7 @@ defmodule Scrivener.ListTest do
102
117
assert page . page_number == 2
103
118
assert page . entries == [ "Elixir" , "Erlang" , "Go" ]
104
119
assert page . total_entries == @ total_entries
105
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
120
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
106
121
end
107
122
108
123
test "can paginate a list when provided the current page and page size as a keyword list" do
@@ -111,7 +126,7 @@ defmodule Scrivener.ListTest do
111
126
assert page . page_size == 3
112
127
assert page . page_number == 2
113
128
assert page . entries == [ "Elixir" , "Erlang" , "Go" ]
114
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
129
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
115
130
assert page . total_entries == @ total_entries
116
131
end
117
132
@@ -122,7 +137,7 @@ defmodule Scrivener.ListTest do
122
137
assert page . page_size == 3
123
138
assert page . page_number == 1
124
139
assert page . entries == [ "C#" , "C++" , "Clojure" ]
125
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
140
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 3 )
126
141
assert page . total_entries == @ total_entries
127
142
end
128
143
@@ -132,8 +147,8 @@ defmodule Scrivener.ListTest do
132
147
133
148
assert page . page_size == 10
134
149
assert page . page_number == 2
135
- assert page . entries == [ "Perl" , "Python" , "Ruby" , "Rust" , "SQL" ]
136
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 10 )
150
+ assert page . entries == [ "Perl" , "Python" , "Ruby" , "Rust" , "SQL" ]
151
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 10 )
137
152
assert page . total_entries == @ total_entries
138
153
end
139
154
@@ -143,7 +158,7 @@ defmodule Scrivener.ListTest do
143
158
assert page . page_size == 10
144
159
assert page . page_number == 2
145
160
assert page . entries == [ "Perl" , "Python" , "Ruby" , "Rust" , "SQL" ]
146
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 10 )
161
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 10 )
147
162
assert page . total_entries == @ total_entries
148
163
end
149
164
@@ -153,10 +168,8 @@ defmodule Scrivener.ListTest do
153
168
refute page . page_size < 200
154
169
assert page . page_number == 2
155
170
assert page . entries == [ ]
156
- assert page . total_pages == Float . ceil ( length ( @ languages ) / 200 )
171
+ assert page . total_pages == Float . ceil ( length ( @ languages ) / 200 )
157
172
assert page . total_entries == @ total_entries
158
173
end
159
174
end
160
-
161
-
162
175
end
0 commit comments