Coverage for tests/tests_api/orders/orders.py: 50%

20 statements  

« prev     ^ index     » next       coverage.py v7.6.2, created at 2024-10-10 03:02 +0300

1import pytest 

2from sotrans_models.models.orders.order import OrderDBModel 

3from sotrans_models.models.responses import MultiselectError 

4 

5from ...conftest import tmp_org 

6from ...tests_api.auth import test_client, token 

7from ..fixtures import tmp_exchange_order, tmp_unverified_order 

8 

9 

10@pytest.mark.xfail # bad etag, until merge of llm I hope 

11def test_update_order(test_client, tmp_exchange_order): 

12 resp = test_client.patch( 

13 f"/orders/{tmp_exchange_order.id}", json={OrderDBModel.note: "updated"} 

14 ) 

15 assert resp.status_code == 200 

16 assert OrderDBModel(**resp.json()).note == "updated" 

17 

18 

19def test_to_canceled(test_client, tmp_unverified_order): 

20 resp = test_client.put( 

21 f"/orders/{tmp_unverified_order.id}/to-canceled", 

22 json={"cancel_reason": "testing"}, 

23 ) 

24 assert resp.status_code == 200 

25 assert not MultiselectError(**resp.json()).raised_ids 

26 

27 

28def test_to_confirmed(test_client, tmp_exchange_order, tmp_org): 

29 json = { 

30 "carrier": { 

31 **tmp_org.model_dump(format_ids=False, mode="json"), 

32 **{"created_at": None, "documents": None}, 

33 }, 

34 "end_price": 200000, 

35 } 

36 resp = test_client.put( 

37 f"/orders/{tmp_exchange_order.id}/to-confirmed", json=json 

38 ) 

39 assert resp.status_code == 200 

40 assert not MultiselectError(**resp.json()).raised_ids