poe_api_client/api/
stashes.rs1use 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}