@@ -1852,9 +1852,35 @@ def test_api_forceexit(botclient, mocker, ticker, fee, markets):
18521852 Trade .rollback ()
18531853
18541854 trade = Trade .get_trades ([Trade .id == 5 ]).first ()
1855+ last_order = trade .orders [- 1 ]
1856+
1857+ assert last_order .side == "sell"
1858+ assert last_order .status == "closed"
1859+ assert last_order .order_type == "market"
1860+ assert last_order .amount == 23
18551861 assert pytest .approx (trade .amount ) == 100
18561862 assert trade .is_open is True
18571863
1864+ # Test with explicit price
1865+ rc = client_post (
1866+ client ,
1867+ f"{ BASE_URI } /forceexit" ,
1868+ data = {"tradeid" : "5" , "ordertype" : "limit" , "amount" : 25 , "price" : 0.12345 },
1869+ )
1870+ assert_response (rc )
1871+ assert rc .json () == {"result" : "Created exit order for trade 5." }
1872+ Trade .rollback ()
1873+
1874+ trade = Trade .get_trades ([Trade .id == 5 ]).first ()
1875+ last_order = trade .orders [- 1 ]
1876+ assert last_order .status == "closed"
1877+ assert last_order .order_type == "limit"
1878+ assert pytest .approx (last_order .safe_price ) == 0.12345
1879+ assert pytest .approx (last_order .amount ) == 25
1880+
1881+ assert pytest .approx (trade .amount ) == 75
1882+ assert trade .is_open is True
1883+
18581884 rc = client_post (client , f"{ BASE_URI } /forceexit" , data = {"tradeid" : "5" })
18591885 assert_response (rc )
18601886 assert rc .json () == {"result" : "Created exit order for trade 5." }
0 commit comments