ferridriver_expect/
api_response.rs1use ferridriver::http_client::HttpResponse;
5
6use crate::AssertionFailure;
7use crate::builder::Expect;
8
9impl Expect<'_, HttpResponse> {
10 pub fn to_be_ok(&self) -> Result<(), AssertionFailure> {
11 let resp = self.subject;
12 let status = resp.status();
13 let pass_raw = (200..300).contains(&status);
14 let pass = if self.is_not { !pass_raw } else { pass_raw };
15 if pass {
16 return Ok(());
17 }
18 let url = resp.url();
19 let status_text = resp.status_text();
20 let not = if self.is_not { ".not" } else { "" };
21 Err(AssertionFailure::new(
22 format!("expect(response){not}.toBeOK() failed"),
23 Some(format!("URL: {url}\nStatus: {status} {status_text}")),
24 ))
25 }
26}