Files
xiaoxia-saas/tests/unit/test_generation_asset_usage.py
T
Xiaoxia AI 37e849f90e
Deploy / Build Production Runtime Images (push) Successful in 9m8s
Deploy / Deploy Production (push) Successful in 55s
Deploy / Production Browser E2E (push) Successful in 36s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
Deploy / Deploy Staging (push) Has been skipped
feat(assets): track generation usage review state
2026-06-23 21:52:47 +08:00

41 lines
1.2 KiB
Python

import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[2] / "apps" / "worker"))
from packages.domain import Asset, AssetStatus
from worker_app.core.asset_usage import mark_asset_used_for_generation
def _asset() -> Asset:
return Asset.create(
workspace_id="workspace-1",
project_id="project-1",
library_id="library-1",
name="video.mp4",
storage_key="uploads/video.mp4",
mime_type="video/mp4",
file_size=1024,
status=AssetStatus.READY,
)
def test_mark_asset_used_for_generation_sets_first_review_state():
asset = _asset()
mark_asset_used_for_generation(asset)
assert asset.metadata["generation_use_count"] == 1
assert asset.metadata["review_status"] == "pending_review"
assert asset.metadata["last_used_at"]
def test_mark_asset_used_for_generation_increments_without_overwriting_review_state():
asset = _asset()
asset.metadata = {"generation_use_count": 2, "review_status": "approved"}
mark_asset_used_for_generation(asset)
assert asset.metadata["generation_use_count"] == 3
assert asset.metadata["review_status"] == "approved"