from campaigns.assets.models import Asset from campaigns.assets.repositories import AssetRepository from tests.unit.faker import FakerTyped from tests.unit.types import CreateModel async def test_get_or_none_not_exist( asset_repository: AssetRepository, fake: FakerTyped ) -> None: asset_id = fake.uuid4_string() asset = await asset_repository.get_or_none(asset_id=asset_id) assert asset is None async def test_get_or_none_by_id( asset_repository: AssetRepository, fake: FakerTyped, create_model: CreateModel ) -> None: asset_id = fake.uuid4_string() asset = await create_model(Asset, id=asset_id) result = await asset_repository.get_or_none(asset_id=asset_id) assert result assert result.id == asset.id async def test_get_or_none_by_key( asset_repository: AssetRepository, fake: FakerTyped, create_model: CreateModel ) -> None: asset_key = "Sony Purpose | Official Video.mp4" asset = await create_model(Asset, key=asset_key) result = await asset_repository.get_or_none(asset_id=asset_key) assert result assert result.id == asset.id