Spaces:
Running
Running
| 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 | |
| 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'] | |
| 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() | |