Skip to content

Commit 179351a

Browse files
committed
tests/routes/crates/list: Assert total in the test suite
1 parent 0324b64 commit 179351a

File tree

1 file changed

+52
-12
lines changed

1 file changed

+52
-12
lines changed

src/tests/routes/crates/list.rs

Lines changed: 52 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,53 @@ fn index_queries() {
6868
// Query containing a space
6969
assert_eq!(anon.search("q=foo%20kw3").meta.total, 1);
7070

71-
assert_eq!(anon.search_by_user_id(user.id).crates.len(), 4);
72-
assert_eq!(anon.search_by_user_id(0).crates.len(), 0);
71+
let json = anon.search_by_user_id(user.id);
72+
assert_eq!(json.crates.len(), 4);
73+
assert_eq!(json.meta.total, 4);
74+
75+
let json = anon.search_by_user_id(0);
76+
assert_eq!(json.crates.len(), 0);
77+
assert_eq!(json.meta.total, 0);
78+
79+
let json = anon.search("letter=F");
80+
assert_eq!(json.crates.len(), 2);
81+
assert_eq!(json.meta.total, 2);
82+
83+
let json = anon.search("letter=B");
84+
assert_eq!(json.crates.len(), 1);
85+
assert_eq!(json.meta.total, 1);
86+
87+
let json = anon.search("letter=b");
88+
assert_eq!(json.crates.len(), 1);
89+
assert_eq!(json.meta.total, 1);
90+
91+
let json = anon.search("letter=c");
92+
assert_eq!(json.crates.len(), 0);
93+
assert_eq!(json.meta.total, 0);
94+
95+
let json = anon.search("keyword=kw1");
96+
assert_eq!(json.crates.len(), 3);
97+
assert_eq!(json.meta.total, 3);
98+
99+
let json = anon.search("keyword=KW1");
100+
assert_eq!(json.crates.len(), 3);
101+
assert_eq!(json.meta.total, 3);
102+
103+
let json = anon.search("keyword=kw2");
104+
assert_eq!(json.crates.len(), 0);
105+
assert_eq!(json.meta.total, 0);
73106

74-
assert_eq!(anon.search("letter=F").crates.len(), 2);
75-
assert_eq!(anon.search("letter=B").crates.len(), 1);
76-
assert_eq!(anon.search("letter=b").crates.len(), 1);
77-
assert_eq!(anon.search("letter=c").crates.len(), 0);
107+
let json = anon.search("all_keywords=kw1%20kw3");
108+
assert_eq!(json.crates.len(), 1);
109+
assert_eq!(json.meta.total, 1);
78110

79-
assert_eq!(anon.search("keyword=kw1").crates.len(), 3);
80-
assert_eq!(anon.search("keyword=KW1").crates.len(), 3);
81-
assert_eq!(anon.search("keyword=kw2").crates.len(), 0);
82-
assert_eq!(anon.search("all_keywords=kw1%20kw3").crates.len(), 1);
111+
let json = anon.search("q=foo&keyword=kw1");
112+
assert_eq!(json.crates.len(), 1);
113+
assert_eq!(json.meta.total, 1);
83114

84-
assert_eq!(anon.search("q=foo&keyword=kw1").crates.len(), 1);
85-
assert_eq!(anon.search("q=foo2&keyword=kw1").crates.len(), 0);
115+
let json = anon.search("q=foo2&keyword=kw1");
116+
assert_eq!(json.crates.len(), 0);
117+
assert_eq!(json.meta.total, 0);
86118

87119
app.db(|conn| {
88120
new_category("Category 1", "cat1", "Category 1 crates")
@@ -727,6 +759,10 @@ fn pagination_links_included_if_applicable() {
727759
Some("?letter=p&page=2&per_page=1".to_string()),
728760
page3.meta.prev_page
729761
);
762+
assert!([page1.meta.total, page2.meta.total, page3.meta.total]
763+
.iter()
764+
.all(|w| *w == 3));
765+
assert_eq!(page4.meta.total, 0);
730766
}
731767

732768
#[test]
@@ -791,10 +827,12 @@ fn test_pages_work_even_with_seek_based_pagination() {
791827
// The next_page returned by the request is seek-based
792828
let first = anon.search("per_page=1");
793829
assert!(first.meta.next_page.unwrap().contains("seek="));
830+
assert_eq!(first.meta.total, 3);
794831

795832
// Calling with page=2 will revert to offset-based pagination
796833
let second = anon.search("page=2&per_page=1");
797834
assert!(second.meta.next_page.unwrap().contains("page=3"));
835+
assert_eq!(second.meta.total, 3);
798836
}
799837

800838
#[test]
@@ -844,6 +882,7 @@ fn crates_by_user_id() {
844882

845883
let response = user.search_by_user_id(id);
846884
assert_eq!(response.crates.len(), 1);
885+
assert_eq!(response.meta.total, 1);
847886
}
848887

849888
#[test]
@@ -858,4 +897,5 @@ fn crates_by_user_id_not_including_deleted_owners() {
858897

859898
let response = anon.search_by_user_id(user.id);
860899
assert_eq!(response.crates.len(), 0);
900+
assert_eq!(response.meta.total, 0);
861901
}

0 commit comments

Comments
 (0)