13 lines
626 B
Python
13 lines
626 B
Python
|
|
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())
|