warframe/market/models/
lich_weapon.rs1use serde::Deserialize;
2
3use super::{
4 i18n::I18N,
5 impl_queryable,
6};
7
8impl_queryable!(LichWeapon, Array, "/lich/weapons");
9
10#[derive(Debug, Deserialize, PartialEq, Clone)]
12#[serde(rename_all = "camelCase")]
13pub struct LichWeapon {
14 pub id: String,
15 pub slug: String,
16 pub game_ref: String,
17 pub req_mastery_rank: u8,
18 pub i18n: I18N<LichWeaponI18N>,
19}
20
21#[derive(Debug, Deserialize, PartialEq, Clone)]
22#[serde(rename_all = "camelCase")]
23pub struct LichWeaponI18N {
24 pub name: String,
25 pub wiki_link: Option<String>,
26 pub icon: String,
27 pub thumb: String,
28}
29
30#[cfg(test)]
31mod test {
32 use super::LichWeapon;
33 use crate::market::{
34 Queryable,
35 models::ResponseBase,
36 };
37
38 #[rstest::rstest]
39 fn lich_weapon(
40 #[files("src/market/models/fixtures/lich_weapon.json")]
41 #[mode = str]
42 json: &str,
43 ) -> Result<(), serde_json::Error> {
44 serde_json::from_str::<ResponseBase<<LichWeapon as Queryable>::Data>>(json)?;
45
46 Ok(())
47 }
48}