MediaRouter / tests /test_brand_kits.py
basyx's picture
Upload 437 files
7cc81cb verified
Raw
History Blame Contribute Delete
1.56 kB
import pytest
from unittest.mock import AsyncMock, MagicMock
from app.brand.services.brand_service import BrandKitService
from app.brand.services.validation_service import BrandKitValidationService
from app.brand.models.brand import BrandKitVersion
@pytest.fixture
def validation_service():
return BrandKitValidationService()
def test_brand_kit_validation_missing_logo(validation_service):
version = BrandKitVersion(version_number=1, created_by="user1")
result = validation_service.validate(version)
assert not result['valid']
assert any(issue['field'] == 'logo_asset_id' for issue in result['issues'])
def test_brand_kit_validation_valid(validation_service):
version = BrandKitVersion(version_number=1, created_by="user1", logo_asset_id="asset123")
result = validation_service.validate(version)
assert result['valid']
@pytest.mark.asyncio
async def test_brand_kit_service_create():
mock_repo = AsyncMock()
mock_assets = AsyncMock()
mock_audit = AsyncMock()
service = BrandKitService(mock_repo, mock_assets, mock_audit)
workspace_id = "ws1"
name = "Test Kit"
data = {"logo_asset_id": "asset123"}
user_id = "user1"
mock_assets.get_asset.return_value = {"id": "asset123"}
mock_repo.create.return_value = (MagicMock(id="kit1"), MagicMock(id="ver1"))
await service.create_brand_kit(workspace_id, name, data, user_id=user_id)
mock_assets.get_asset.assert_called_once()
mock_repo.create.assert_called_once()
mock_audit.log_event.assert_called_once()