@@ -52,6 +52,41 @@ async def test_change(session_id, admin_models, event, client):
5252 assert r .status_code == 200 , r .text
5353
5454
55+ async def test_change_empty_m2m (session_id , admin_models , event , client ):
56+ assert session_id
57+ event_admin_model : ModelAdmin = admin_models [event .__class__ ]
58+
59+ r = await client .patch (
60+ f"/api/change/{ event .get_model_name ()} /{ event .id } " ,
61+ json = {
62+ "name" : "new name" ,
63+ "participants" : [],
64+ "rating" : 10 ,
65+ "description" : "test" ,
66+ "event_type" : "PRIVATE" ,
67+ "is_active" : True ,
68+ "start_time" : datetime .datetime .now (tz = datetime .UTC ).isoformat (),
69+ "date" : datetime .datetime .now (tz = datetime .UTC ).isoformat (),
70+ "latitude" : 0.2 ,
71+ "longitude" : 0.4 ,
72+ # TODO: bug with Decimal
73+ # "price": "20.3",
74+ "json" : {"test" : "test" },
75+ },
76+ )
77+
78+ assert r .status_code == 200 , r .text
79+
80+ updated_event = await event_admin_model .get_obj (event .id )
81+ item = r .json ()
82+ assert item ["id" ] == updated_event ["id" ]
83+ assert item ["name" ] == updated_event ["name" ]
84+ assert item ["tournament" ] == updated_event ["tournament" ]
85+ assert datetime .datetime .fromisoformat (item ["created_at" ]) == updated_event ["created_at" ]
86+ assert datetime .datetime .fromisoformat (item ["updated_at" ]) == updated_event ["updated_at" ]
87+ assert item ["participants" ] == []
88+
89+
5590async def test_change_405 (session_id , event , client ):
5691 assert session_id
5792 r = await client .get (
0 commit comments