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}