import pytest from ows_text_campaigns.assets.models import Asset from ows_text_campaigns.campaigns.handlers import ( GetCampaignAttachmentsHandler, GetCampaignAttachmentsRequest, ) from ows_text_campaigns.campaigns.models import Campaign from tests.unit.types import CreateModel class TestGetCampaignAttachmentsHandler: @pytest.mark.db def test_get_campaign_attachments( self, handler: GetCampaignAttachmentsHandler, create_model: CreateModel, identity_id: str, ) -> None: asset = create_model(Asset) campaign = create_model(Campaign, assets=[asset]) result = handler.handle( GetCampaignAttachmentsRequest( identity_id=identity_id, campaign_id=campaign.id, ) ) assert result == [asset] @pytest.mark.db def test_get_text_campaign_attachments_not_attached( self, handler: GetCampaignAttachmentsHandler, create_model: CreateModel, identity_id: str, ) -> None: campaign = create_model(Campaign) create_model(Asset, object_type="text_campaign", object_id=campaign.id) result = handler.handle( GetCampaignAttachmentsRequest( identity_id=identity_id, campaign_id=campaign.id, ) ) assert result == []