mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-06-30 00:36:43 +08:00
51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
from app.schemas.event import SubscribeModifiedEventData
|
|
|
|
|
|
def test_subscribe_modified_event_data_computes_sorted_fields():
|
|
data = SubscribeModifiedEventData(
|
|
subscribe_id=7,
|
|
old_subscribe_info={"state": "R", "lack_episode": 3, "name": "A"},
|
|
subscribe_info={"state": "S", "lack_episode": 3, "name": "B"},
|
|
scene="status",
|
|
)
|
|
|
|
assert data.fields == ["name", "state"]
|
|
assert data.to_dict() == {
|
|
"subscribe_id": 7,
|
|
"old_subscribe_info": {"state": "R", "lack_episode": 3, "name": "A"},
|
|
"subscribe_info": {"state": "S", "lack_episode": 3, "name": "B"},
|
|
"scene": "status",
|
|
"fields": ["name", "state"],
|
|
}
|
|
|
|
|
|
def test_subscribe_modified_event_data_diffs_missing_keys_as_none():
|
|
data = SubscribeModifiedEventData(
|
|
subscribe_id=8,
|
|
old_subscribe_info={"state": "R", "episode_priority": {"1": 80}},
|
|
subscribe_info={"state": "R"},
|
|
scene="reset",
|
|
)
|
|
|
|
assert data.fields == ["episode_priority"]
|
|
assert set(data.to_dict()) == {
|
|
"subscribe_id",
|
|
"old_subscribe_info",
|
|
"subscribe_info",
|
|
"scene",
|
|
"fields",
|
|
}
|
|
|
|
|
|
def test_subscribe_modified_event_data_ignores_caller_supplied_fields():
|
|
data = SubscribeModifiedEventData(
|
|
subscribe_id=9,
|
|
old_subscribe_info={"state": "R"},
|
|
subscribe_info={"state": "S"},
|
|
scene="update",
|
|
fields=["fake"],
|
|
)
|
|
|
|
assert data.fields == ["state"]
|
|
assert data.to_dict()["fields"] == ["state"]
|