Skip to content

Commit 6ebb22c

Browse files
zahidkizmazsyphar
authored andcommitted
test: add tests for rebuild-queue functionality
1 parent 9220b70 commit 6ebb22c

File tree

2 files changed

+64
-3
lines changed

2 files changed

+64
-3
lines changed

src/web/releases.rs

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1077,7 +1077,7 @@ mod tests {
10771077
}
10781078

10791079
#[test]
1080-
fn search_result_can_retrive_sort_by_from_pagination() {
1080+
fn search_result_can_retrieve_sort_by_from_pagination() {
10811081
wrapper(|env| {
10821082
let mut crates_io = mockito::Server::new();
10831083
env.override_config(|config| {
@@ -1854,6 +1854,67 @@ mod tests {
18541854
});
18551855
}
18561856

1857+
#[test]
1858+
fn test_releases_rebuild_queue_empty() {
1859+
wrapper(|env| {
1860+
let web = env.frontend();
1861+
1862+
let empty = kuchikiki::parse_html().one(web.get("/releases/queue").send()?.text()?);
1863+
1864+
assert!(empty
1865+
.select(".about > p")
1866+
.expect("missing heading")
1867+
.any(|el| el.text_contents().contains("We continuously rebuild")));
1868+
1869+
assert!(empty
1870+
.select(".about > p")
1871+
.expect("missing heading")
1872+
.any(|el| el.text_contents().contains("crates in the rebuild queue")));
1873+
1874+
Ok(())
1875+
});
1876+
}
1877+
1878+
#[test]
1879+
fn test_releases_rebuild_queue_with_crates() {
1880+
wrapper(|env| {
1881+
let web = env.frontend();
1882+
let queue = env.build_queue();
1883+
queue.add_crate("foo", "1.0.0", REBUILD_PRIORITY, None)?;
1884+
queue.add_crate("bar", "0.1.0", REBUILD_PRIORITY + 1, None)?;
1885+
queue.add_crate("baz", "0.0.1", REBUILD_PRIORITY - 1, None)?;
1886+
1887+
let full = kuchikiki::parse_html().one(web.get("/releases/queue").send()?.text()?);
1888+
let items = full
1889+
.select(".rebuild-queue-list > li")
1890+
.expect("missing list items")
1891+
.collect::<Vec<_>>();
1892+
1893+
// empty because expand_rebuild_queue is not set
1894+
assert_eq!(items.len(), 0);
1895+
assert!(full
1896+
.select(".about > p")
1897+
.expect("missing heading")
1898+
.any(|el| el
1899+
.text_contents()
1900+
.contains("There are currently 2 crates in the rebuild queue")));
1901+
1902+
let full =
1903+
kuchikiki::parse_html().one(web.get("/releases/queue?expand=1").send()?.text()?);
1904+
let items = full
1905+
.select(".rebuild-queue-list > li")
1906+
.expect("missing list items")
1907+
.collect::<Vec<_>>();
1908+
1909+
assert_eq!(items.len(), 2);
1910+
assert!(items.iter().any(|li| li.text_contents().contains("foo")));
1911+
assert!(items.iter().any(|li| li.text_contents().contains("bar")));
1912+
assert!(!items.iter().any(|li| li.text_contents().contains("baz")));
1913+
1914+
Ok(())
1915+
});
1916+
}
1917+
18571918
#[test]
18581919
fn home_page_links() {
18591920
wrapper(|env| {

templates/releases/build_queue.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494

9595
<div class="about">
9696
<p>
97-
We continiously rebuild the latest versions for all crates so they can
97+
We continuously rebuild the latest versions for all crates so they can
9898
benefit from new features in rustdoc.
9999
</p>
100100
{%- if !expand_rebuild_queue -%}
@@ -104,7 +104,7 @@
104104
</div>
105105

106106
{%- if expand_rebuild_queue -%}
107-
<ol class="queue-list">
107+
<ol class="rebuild-queue-list">
108108
{%- if !rebuild_queue.is_empty() -%}
109109
{% for crate_item in rebuild_queue -%}
110110
<li>

0 commit comments

Comments
 (0)