Add radio now-playing metadata polling and readonly props
This commit is contained in:
24
server/tests/test_radio_station_validator.py
Normal file
24
server/tests/test_radio_station_validator.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from app.client import ClientConnection
|
||||
from app.item_service import ItemService
|
||||
from app.items.types.radio_station.validator import validate_update
|
||||
|
||||
|
||||
class _Ws:
|
||||
pass
|
||||
|
||||
|
||||
def test_radio_validator_preserves_readonly_metadata_fields(tmp_path) -> None:
|
||||
service = ItemService(state_file=tmp_path / "items.json")
|
||||
client = ClientConnection(websocket=_Ws(), id="u1", nickname="tester")
|
||||
item = service.default_item(client, "radio_station")
|
||||
item.params["stationName"] = "Original Station"
|
||||
item.params["nowPlaying"] = "Original Song"
|
||||
|
||||
next_params = {**item.params, "stationName": "Injected", "nowPlaying": "Injected Song", "mediaVolume": 60}
|
||||
validated = validate_update(item, next_params)
|
||||
|
||||
assert validated["mediaVolume"] == 60
|
||||
assert validated["stationName"] == "Original Station"
|
||||
assert validated["nowPlaying"] == "Original Song"
|
||||
Reference in New Issue
Block a user