midnight-static / tests /test_schema.py
cajpany's picture
Upload folder using huggingface_hub
fc9b7e2 verified
Raw
History Blame Contribute Delete
1.11 kB
from midnight_static.fixtures import fixture_script
from midnight_static.schema import Genre, Line, Script
def test_fixture_script_is_valid():
script = fixture_script("a phone that only receives calls from 1962")
script.validate()
assert script.genre == Genre.WEIRD
assert len(script.cast) >= 2
assert len(script.scenes) == 2
def test_schema_rejects_unknown_cast_reference():
script = fixture_script("static")
broken_scene = script.scenes[0]
broken = Script(
title=script.title,
logline=script.logline,
genre=script.genre,
cast=script.cast,
scenes=[
type(broken_scene)(
title=broken_scene.title,
sfx=broken_scene.sfx,
lines=[Line(cast="missing", text="No one can say this.")],
)
],
music=script.music,
estimated_seconds=script.estimated_seconds,
)
try:
broken.validate()
except ValueError as exc:
assert "unknown cast" in str(exc)
else:
raise AssertionError("expected validation to fail")