Files
chat_grid/server/tests/test_radio_station_validator.py

25 lines
900 B
Python

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"