Skip to content

Commit 81c6424

Browse files
committed
tests/routes/crates/list: Assert total in the test suite
1 parent a2ebca1 commit 81c6424

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
@@ -65,21 +65,53 @@ fn index_queries() {
6565
assert_eq!(anon.search("q=readme").meta.total, 1);
6666
assert_eq!(anon.search("q=description").meta.total, 1);
6767

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

71-
assert_eq!(anon.search("letter=F").crates.len(), 2);
72-
assert_eq!(anon.search("letter=B").crates.len(), 1);
73-
assert_eq!(anon.search("letter=b").crates.len(), 1);
74-
assert_eq!(anon.search("letter=c").crates.len(), 0);
104+
let json = anon.search("all_keywords=kw1%20kw3");
105+
assert_eq!(json.crates.len(), 1);
106+
assert_eq!(json.meta.total, 1);
75107

76-
assert_eq!(anon.search("keyword=kw1").crates.len(), 3);
77-
assert_eq!(anon.search("keyword=KW1").crates.len(), 3);
78-
assert_eq!(anon.search("keyword=kw2").crates.len(), 0);
79-
assert_eq!(anon.search("all_keywords=kw1%20kw3").crates.len(), 1);
108+
let json = anon.search("q=foo&keyword=kw1");
109+
assert_eq!(json.crates.len(), 1);
110+
assert_eq!(json.meta.total, 1);
80111

81-
assert_eq!(anon.search("q=foo&keyword=kw1").crates.len(), 1);
82-
assert_eq!(anon.search("q=foo2&keyword=kw1").crates.len(), 0);
112+
let json = anon.search("q=foo2&keyword=kw1");
113+
assert_eq!(json.crates.len(), 0);
114+
assert_eq!(json.meta.total, 0);
83115

84116
app.db(|conn| {
85117
new_category("Category 1", "cat1", "Category 1 crates")
@@ -724,6 +756,10 @@ fn pagination_links_included_if_applicable() {
724756
Some("?letter=p&page=2&per_page=1".to_string()),
725757
page3.meta.prev_page
726758
);
759+
assert!([page1.meta.total, page2.meta.total, page3.meta.total]
760+
.iter()
761+
.all(|w| *w == 3));
762+
assert_eq!(page4.meta.total, 0);
727763
}
728764

729765
#[test]
@@ -788,10 +824,12 @@ fn test_pages_work_even_with_seek_based_pagination() {
788824
// The next_page returned by the request is seek-based
789825
let first = anon.search("per_page=1");
790826
assert!(first.meta.next_page.unwrap().contains("seek="));
827+
assert_eq!(first.meta.total, 3);
791828

792829
// Calling with page=2 will revert to offset-based pagination
793830
let second = anon.search("page=2&per_page=1");
794831
assert!(second.meta.next_page.unwrap().contains("page=3"));
832+
assert_eq!(second.meta.total, 3);
795833
}
796834

797835
#[test]
@@ -841,6 +879,7 @@ fn crates_by_user_id() {
841879

842880
let response = user.search_by_user_id(id);
843881
assert_eq!(response.crates.len(), 1);
882+
assert_eq!(response.meta.total, 1);
844883
}
845884

846885
#[test]
@@ -855,4 +894,5 @@ fn crates_by_user_id_not_including_deleted_owners() {
855894

856895
let response = anon.search_by_user_id(user.id);
857896
assert_eq!(response.crates.len(), 0);
897+
assert_eq!(response.meta.total, 0);
858898
}

0 commit comments

Comments
 (0)