spriteforge/tests/test_studio_revisions.py

13 lines
626 B
Python
Raw Permalink Normal View History

from spriteforge.studio.models import Asset
from spriteforge.studio.store import ProjectStore
def test_every_save_is_recoverable_by_content_hash(tmp_path):
store=ProjectStore.create(tmp_path/"s","ops","Ops")
store.add_asset(Asset(id="agent",name="Agent",kind="character",target_width=60,target_height=60))
revisions=store.revisions();assert revisions
empty=next(item for item in revisions if item["assets"]==0)
restored=store.restore_revision(empty["hash"])
assert not restored.assets and restored.events[-1].action=="project.restored"
assert any(item["assets"]==1 for item in store.revisions())