From b817d9c44c4102c0c141b9ccee7d1cb04fca1baf Mon Sep 17 00:00:00 2001 From: cyqsimon <28627918+cyqsimon@users.noreply.github.com> Date: Thu, 15 Sep 2022 18:32:49 +0800 Subject: Restores webpage QR tests --- tests/qrcode.rs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/qrcode.rs b/tests/qrcode.rs index 162c33a..de8ac88 100644 --- a/tests/qrcode.rs +++ b/tests/qrcode.rs @@ -2,12 +2,32 @@ mod fixtures; use assert_cmd::prelude::CommandCargoExt; use assert_fs::TempDir; -use fixtures::{port, tmpdir, Error}; +use fixtures::{port, server, tmpdir, Error, TestServer}; use rstest::rstest; +use select::document::Document; +use select::predicate::Attr; use std::process::{Command, Stdio}; use std::thread::sleep; use std::time::Duration; +#[rstest] +fn webpage_hides_qrcode_when_disabled(server: TestServer) -> Result<(), Error> { + let body = reqwest::blocking::get(server.url())?.error_for_status()?; + let parsed = Document::from_read(body)?; + assert!(parsed.find(Attr("id", "qrcode")).next().is_none()); + + Ok(()) +} + +#[rstest] +fn webpage_hides_qrcode_when_enabled(#[with(&["-q"])] server: TestServer) -> Result<(), Error> { + let body = reqwest::blocking::get(server.url())?.error_for_status()?; + let parsed = Document::from_read(body)?; + assert!(parsed.find(Attr("id", "qrcode")).next().is_some()); + + Ok(()) +} + #[cfg(not(windows))] fn run_in_faketty_kill_and_get_stdout(template: &Command) -> Result { use fake_tty::{bash_command, get_stdout}; -- cgit v1.2.3