@@ -20,8 +20,8 @@ use crate::{
2020 subscriptions:: Subscriptions ,
2121 websocket_api:: {
2222 client_message:: Message as CM , server_message:: Message as SM , ActAs , Authenticate ,
23- ClientMessage , CreateMarket , CreateOrder , EditMarket , GetFullTradeHistory ,
24- RevokeOwnership , ServerMessage , SettleMarket , SetSudo , Side ,
23+ ClientMessage , CreateMarket , CreateOrder , EditMarket , GetFullTradeHistory , MakeTransfer ,
24+ Redeem , Redeemable , RevokeOwnership , ServerMessage , SettleMarket , SetSudo , Side ,
2525 } ,
2626 AppState ,
2727} ;
@@ -373,6 +373,78 @@ impl TestClient {
373373 self . recv_message ( ) . await
374374 }
375375
376+ /// Send a `CreateMarket` message with full options (including redeemable).
377+ ///
378+ /// # Errors
379+ /// Returns an error if sending fails.
380+ pub async fn create_market_full (
381+ & mut self ,
382+ name : & str ,
383+ min_settlement : f64 ,
384+ max_settlement : f64 ,
385+ hide_account_ids : bool ,
386+ redeemable_for : Vec < Redeemable > ,
387+ redeem_fee : f64 ,
388+ ) -> anyhow:: Result < ServerMessage > {
389+ let request_id = self . next_request_id ( ) ;
390+ let msg = ClientMessage {
391+ request_id,
392+ message : Some ( CM :: CreateMarket ( CreateMarket {
393+ name : name. to_string ( ) ,
394+ description : String :: new ( ) ,
395+ min_settlement,
396+ max_settlement,
397+ redeemable_for,
398+ redeem_fee,
399+ hide_account_ids,
400+ visible_to : vec ! [ ] ,
401+ type_id : 0 ,
402+ group_id : 0 ,
403+ } ) ) ,
404+ } ;
405+ self . send_message ( msg) . await ?;
406+ self . recv_message ( ) . await
407+ }
408+
409+ /// Send a `Redeem` message.
410+ ///
411+ /// # Errors
412+ /// Returns an error if sending fails.
413+ pub async fn redeem ( & mut self , fund_id : i64 , amount : f64 ) -> anyhow:: Result < ServerMessage > {
414+ let request_id = self . next_request_id ( ) ;
415+ let msg = ClientMessage {
416+ request_id,
417+ message : Some ( CM :: Redeem ( Redeem { fund_id, amount } ) ) ,
418+ } ;
419+ self . send_message ( msg) . await ?;
420+ self . recv_message ( ) . await
421+ }
422+
423+ /// Send a `MakeTransfer` message.
424+ ///
425+ /// # Errors
426+ /// Returns an error if sending fails.
427+ pub async fn make_transfer (
428+ & mut self ,
429+ from_account_id : i64 ,
430+ to_account_id : i64 ,
431+ amount : f64 ,
432+ note : & str ,
433+ ) -> anyhow:: Result < ServerMessage > {
434+ let request_id = self . next_request_id ( ) ;
435+ let msg = ClientMessage {
436+ request_id,
437+ message : Some ( CM :: MakeTransfer ( MakeTransfer {
438+ from_account_id,
439+ to_account_id,
440+ amount,
441+ note : note. to_string ( ) ,
442+ } ) ) ,
443+ } ;
444+ self . send_message ( msg) . await ?;
445+ self . recv_message ( ) . await
446+ }
447+
376448 /// Send a raw `ClientMessage`.
377449 ///
378450 /// # Errors
0 commit comments