torn_api/
market.rs

1use serde::Deserialize;
2use torn_api_macros::ApiCategory;
3
4#[derive(Debug, Clone, Copy, ApiCategory)]
5#[api(category = "market")]
6pub enum MarketSelection {
7    #[api(type = "Vec<BazaarItem>", field = "bazaar")]
8    Bazaar,
9}
10
11#[derive(Clone, Debug, Deserialize)]
12pub struct BazaarItem {
13    pub cost: u64,
14    pub quantity: u32,
15}
16
17#[cfg(test)]
18mod test {
19    use super::*;
20    use crate::tests::{async_test, setup, Client, ClientTrait};
21
22    #[async_test]
23    async fn market_bazaar() {
24        let key = setup();
25
26        let response = Client::default()
27            .torn_api(key)
28            .market(|b| b.id(1).selections([MarketSelection::Bazaar]))
29            .await
30            .unwrap();
31
32        _ = response.bazaar().unwrap();
33    }
34}