@@ -119,7 +119,6 @@ def test_order_place(mock_kite):
119119 "quantity" : 1 ,
120120 "order_type" : "MARKET" ,
121121 }
122- print (broker .kite .place_order .call_args_list )
123122 assert broker .kite .place_order .call_args_list [- 1 ] == call (** kwargs )
124123
125124
@@ -191,3 +190,92 @@ def test_order_cancel_return_error(mock_kite):
191190 response = broker .order_cancel (order_type = "market" )
192191 broker .kite .cancel_order .assert_not_called ()
193192 assert response == {"error" : "No order_id" }
193+
194+
195+ def test_close_all_positions (mock_kite ):
196+ broker = mock_kite
197+ with open ("tests/data/kiteconnect/positions.json" ) as f :
198+ mock_data = json .load (f )
199+ broker .kite .positions .return_value = mock_data
200+ broker .close_all_positions ()
201+ assert broker .kite .place_order .call_count == 2
202+ call_args = [
203+ dict (
204+ tradingsymbol = "GOLDGUINEA17DECFUT" ,
205+ order_type = "MARKET" ,
206+ quantity = 3 ,
207+ transaction_type = "buy" ,
208+ ),
209+ dict (
210+ tradingsymbol = "LEADMINI17DECFUT" ,
211+ order_type = "MARKET" ,
212+ quantity = 1 ,
213+ transaction_type = "sell" ,
214+ ),
215+ ]
216+ order_args = broker .kite .place_order .call_args_list
217+ assert order_args [0 ] == call (** call_args [0 ])
218+ assert order_args [1 ] == call (** call_args [1 ])
219+
220+
221+ def test_close_all_positions (mock_kite ):
222+ broker = mock_kite
223+ with open ("tests/data/kiteconnect/positions.json" ) as f :
224+ mock_data = json .load (f )
225+ broker .kite .positions .return_value = mock_data
226+ broker .close_all_positions (
227+ keys_to_copy = ("exchange" , "product" ), keys_to_add = {"variety" : "regular" }
228+ )
229+ assert broker .kite .place_order .call_count == 2
230+ call_args = [
231+ dict (
232+ tradingsymbol = "GOLDGUINEA17DECFUT" ,
233+ order_type = "MARKET" ,
234+ quantity = 3 ,
235+ transaction_type = "buy" ,
236+ exchange = "MCX" ,
237+ product = "NRML" ,
238+ variety = "regular" ,
239+ ),
240+ dict (
241+ tradingsymbol = "LEADMINI17DECFUT" ,
242+ order_type = "MARKET" ,
243+ quantity = 1 ,
244+ transaction_type = "sell" ,
245+ exchange = "MCX" ,
246+ product = "NRML" ,
247+ variety = "regular" ,
248+ ),
249+ ]
250+ order_args = broker .kite .place_order .call_args_list
251+ assert order_args [0 ] == call (** call_args [0 ])
252+ assert order_args [1 ] == call (** call_args [1 ])
253+
254+
255+ def test_cancel_all_orders (mock_kite ):
256+ broker = mock_kite
257+ with open ("tests/data/kiteconnect/orders.json" ) as f :
258+ mock_data = json .load (f )
259+ mock_data ["data" ][3 ]["status" ] = "pending"
260+ broker .kite .orders .return_value = mock_data
261+ broker .cancel_all_orders (
262+ keys_to_copy = ("product" , "instrument_token" ), keys_to_add = {"variety" : "regular" }
263+ )
264+ assert broker .kite .cancel_order .call_count == 2
265+ call_args = [
266+ dict (
267+ order_id = "100000000000000" ,
268+ instrument_token = 412675 ,
269+ product = "NRML" ,
270+ variety = "regular" ,
271+ ),
272+ dict (
273+ order_id = "700000000000000" ,
274+ instrument_token = 58424839 ,
275+ product = "NRML" ,
276+ variety = "regular" ,
277+ ),
278+ ]
279+ order_args = broker .kite .cancel_order .call_args_list
280+ assert order_args [0 ] == call (** call_args [0 ])
281+ assert order_args [1 ] == call (** call_args [1 ])
0 commit comments