wb_cache/test/simulation/scriptwriter/
steps.rs1use serde::Deserialize;
2use serde::Serialize;
3use strum::Display;
4
5use crate::test::simulation::db::entity::Customer as DbCustomer;
6use crate::test::simulation::db::entity::InventoryRecord as DbInventoryRecord;
7use crate::test::simulation::db::entity::Order as DbOrder;
8use crate::test::simulation::db::entity::Product as DbProduct;
9use crate::test::simulation::db::entity::Session as DbSession;
10
11use super::entity::inventory::IncomingShipment;
12use super::entity::inventory::InventoryCheck;
13
14#[derive(Clone, Debug, Serialize, Deserialize)]
15pub struct ScriptTitle {
16 pub period: i32,
17 pub products: i32,
18 pub market_capacity: u32,
19}
20
21#[derive(Display, Clone, Debug, Serialize, Deserialize)]
22#[serde(deny_unknown_fields)]
23pub enum Step {
24 #[serde(rename = "h")]
26 Title(ScriptTitle),
27 #[serde(rename = "d")]
28 Day(i32),
30 AddProduct(DbProduct),
33 #[serde(rename = "ac")]
35 AddCustomer(DbCustomer),
36 #[serde(rename = "ao")]
38 AddOrder(DbOrder),
39 #[serde(rename = "uo")]
40 UpdateOrder(DbOrder),
41 #[serde(rename = "as")]
43 AddSession(DbSession),
44 UpdateSession(DbSession),
46 CollectSessions,
48 #[serde(rename = "ai")]
51 AddInventoryRecord(DbInventoryRecord),
52 #[serde(rename = "is")]
54 AddStock(IncomingShipment),
55 ViewProduct(i32),
57 #[serde(rename = "ci")]
60 CheckInventory(InventoryCheck),
61}