diff options
author | Sven-Hendrik Haase <svenstaro@gmail.com> | 2024-01-13 04:36:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-13 04:36:58 +0000 |
commit | c78db05996af04e52d6b16f961a8b247a60c3e88 (patch) | |
tree | 53149c8ee8aa68fa680d23e5011a4c3adfd5b5de /tests/navigation.rs | |
parent | Use tokio::fs instead of std::fs to enable async file operations (fixes #445) (diff) | |
parent | Set default sorting order and method with arguments (diff) | |
download | miniserve-c78db05996af04e52d6b16f961a8b247a60c3e88.tar.gz miniserve-c78db05996af04e52d6b16f961a8b247a60c3e88.zip |
Merge pull request #1308 from ElliottLandsborough/set_sorting_order_with_arguments
Set default sorting order and method with arguments
Diffstat (limited to 'tests/navigation.rs')
-rw-r--r-- | tests/navigation.rs | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/navigation.rs b/tests/navigation.rs index 3bd7415..34eee2f 100644 --- a/tests/navigation.rs +++ b/tests/navigation.rs @@ -1,12 +1,13 @@ mod fixtures; mod utils; -use fixtures::{server, Error, TestServer, DEEPLY_NESTED_FILE, DIRECTORIES}; +use fixtures::{server, Error, TestServer, FILES, DEEPLY_NESTED_FILE, DIRECTORIES}; use pretty_assertions::{assert_eq, assert_ne}; use rstest::rstest; use select::document::Document; use std::process::{Command, Stdio}; use utils::get_link_from_text; +use utils::get_link_hrefs_from_text_with_prefix; #[rstest( input, @@ -147,3 +148,30 @@ fn can_navigate_using_breadcrumbs( Ok(()) } + +#[rstest] +#[case(server(&["--default-sorting-method", "date", "--default-sorting-order", "desc"]))] +#[case(server(&["--default-sorting-method", "date", "--default-sorting-order", "asc"]))] +/// We can specify the default sorting order +fn can_specify_default_sorting_order(#[case] server: TestServer) -> Result<(), Error> { + let slash = String::from("/"); + let base_url = server.url(); + let nested_url = base_url.join(&slash)?; + + let resp = reqwest::blocking::get(nested_url.as_str())?; + let body = resp.error_for_status()?; + let parsed = Document::from_read(body)?; + + let links = get_link_hrefs_from_text_with_prefix(&parsed, "/"); + let first_created_file = slash + FILES.first().unwrap(); + + if links.first().unwrap() == &first_created_file { + assert_eq!("/very/?sort=date&order=asc", links.last().unwrap()); + } + + if links.last().unwrap() == &first_created_file { + assert_eq!("/very/?sort=date&order=desc", links.first().unwrap()); + } + + Ok(()) +} |