Skip to main content

rust_okx/ws/response/
spread.rs

1//! Typed aliases for Spread Trading WebSocket operation responses.
2
3use crate::ws::model::{
4    SpreadAmendOrderResult, SpreadCancelOrderResult, SpreadMassCancelResult, SpreadPlaceOrderResult,
5};
6
7use super::OperationResponse;
8
9/// Response returned by `sprd-order`.
10pub type PlaceSpreadOrderResponse = OperationResponse<SpreadPlaceOrderResult>;
11/// Response returned by `sprd-amend-order`.
12pub type AmendSpreadOrderResponse = OperationResponse<SpreadAmendOrderResult>;
13/// Response returned by `sprd-cancel-order`.
14pub type CancelSpreadOrderResponse = OperationResponse<SpreadCancelOrderResult>;
15/// Response returned by `sprd-mass-cancel`.
16pub type MassCancelSpreadOrdersResponse = OperationResponse<SpreadMassCancelResult>;
17
18#[cfg(test)]
19mod tests {
20    use super::*;
21
22    #[test]
23    fn parses_mass_cancel_response() {
24        let response: MassCancelSpreadOrdersResponse = serde_json::from_str(
25            r#"{"id":"1","op":"sprd-mass-cancel","code":"0","data":[{"result":true}]}"#,
26        )
27        .unwrap();
28        assert!(response.data[0].result);
29    }
30}