forked from 4clojure/4clojure
-
Notifications
You must be signed in to change notification settings - Fork 0
/
users.clj
48 lines (41 loc) · 2.02 KB
/
users.clj
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
(ns foreclojure.test.users
(:use [foreclojure.users] :reload)
(:use [clojure.test])
(:use [midje.sweet]))
(def users [{:user "user1", :solved [1 2 3 4] :rank 1}
{:user "user2", :solved [1 2 3] :rank 2}
{:user "user3", :sovled [1 2] :rank 3}
{:user "user4", :solved [1] :rank 4}
{:user "user5", :solved [1] :rank 5}
{:user "user6", :solved [1] :rank 6}
{:user "user7", :solved [1] :rank 7}
{:user "user8", :solved [1] :rank 8}
{:user "user9", :solved [1] :rank 9}
{:user "user10", :solved [1] :rank 10}
])
(deftest user-datatables-paging
(facts "about datatable-paging"
(count (datatable-paging users 0 10)) => 10
(count (datatable-paging users 8 10)) => 2
(count (datatable-paging users 2 5))) => 5
(:user (first (datatable-paging users 2 5))) => "user3"
(:user (last (datatable-paging users 2 5))) => "user7")
(deftest user-datatables-sort-cols
(facts "about datatable sorting by columns"
(:user (first (datatable-sort-cols users 0))) => "user1"
(:user (second (datatable-sort-cols users 1))) => "user10"
(:user (first (datatable-sort-cols users 2))) => "user1"
(:user (first (datatable-sort-cols users 3))) => "user1"))
(deftest user-datatables-sort-dir
(facts "about datatable sort direction"
(:user (first (datatable-sort-dir users "asc"))) => "user1"
(:user (first (datatable-sort-dir users "desc"))) => "user10"))
(deftest user-datatables-sort
(facts "about sorting by column and direction combined"
(:user (first (datatable-sort users 1 "asc"))) => "user1"
(:user (first (datatable-sort users 1 "desc"))) => "user9"))
(deftest user-datatables-filter
(facts "about filtering the username by text"
(:user (first (datatable-filter users "4"))) => "user4"
(:user (second (datatable-filter users "1"))) => "user10"
(count (datatable-filter users nil)) => 10))