poe_api_client/api/
stashes.rs

1use serde::Deserialize;
2
3use poe_types::stash::PublicStashChange;
4
5#[derive(Deserialize)]
6pub struct PublicStashesResponse {
7    pub next_change_id: String,
8    pub stashes: Vec<PublicStashChange>,
9}
10
11#[cfg(test)]
12mod tests {
13    use std::{fs::File, path::Path};
14
15    use super::PublicStashesResponse;
16
17    #[test]
18    fn deserialize_stash_response() {
19        let path = Path::new("test/stash-1.json");
20        let display = path.display();
21
22        let file1 = match File::open(&path) {
23            Err(why) => panic!("couldn't read {}: {}", display, why),
24            Ok(f) => f,
25        };
26
27        let _: PublicStashesResponse = serde_json::from_reader(file1).unwrap();
28
29        let path = Path::new("test/stash-2.json");
30        let display = path.display();
31
32        let file2 = match File::open(&path) {
33            Err(why) => panic!("couldn't read {}: {}", display, why),
34            Ok(f) => f,
35        };
36
37        let _: PublicStashesResponse = serde_json::from_reader(file2).unwrap();
38
39        let path = Path::new("test/stash-3.json");
40        let display = path.display();
41
42        let file3 = match File::open(&path) {
43            Err(why) => panic!("couldn't read {}: {}", display, why),
44            Ok(f) => f,
45        };
46
47        let _: PublicStashesResponse = serde_json::from_reader(file3).unwrap();
48    }
49}