elif_http/testing/
assertions.rs1use crate::{errors::HttpError, response::ElifStatusCode, ElifResponse};
4
5pub trait HttpAssertions {
6 fn assert_ok(&self);
7 fn assert_status(&self, expected: ElifStatusCode);
8 fn assert_json_contains(&self, key: &str, value: &str);
9}
10
11impl HttpAssertions for ElifResponse {
12 fn assert_ok(&self) {
13 self.assert_status(ElifStatusCode::OK);
14 }
15
16 fn assert_status(&self, expected: ElifStatusCode) {
17 assert_eq!(self.status_code(), expected, "Response status mismatch");
18 }
19
20 fn assert_json_contains(&self, _key: &str, _value: &str) {
21 }
23}
24
25pub trait ErrorAssertions {
26 fn assert_error_code(&self, expected: &str);
27 fn assert_status_code(&self, expected: ElifStatusCode);
28}
29
30impl ErrorAssertions for HttpError {
31 fn assert_error_code(&self, expected: &str) {
32 assert_eq!(self.error_code(), expected, "Error code mismatch");
33 }
34
35 fn assert_status_code(&self, expected: ElifStatusCode) {
36 assert_eq!(self.status_code(), expected, "Error status code mismatch");
37 }
38}