import pytest from ows_text_campaigns.campaigns.handlers import ( GetCampaignShortenedUrlsHandler, GetCampaignShortenedUrlsRequest, ) from ows_text_campaigns.campaigns.models import Campaign, ShortenedUrl, UrlDomain from ows_text_campaigns.campaigns.utils import create_short_link_tag from tests.unit.types import BuildModel, CreateModel class TestGetCampaignShortenedUrlsHandler: @pytest.mark.db def test_get_campaign_shortened_urls( self, handler: GetCampaignShortenedUrlsHandler, create_model: CreateModel, build_model: BuildModel, identity_id: str, ) -> None: url_domain = create_model(UrlDomain) shortened_url = build_model(ShortenedUrl, domain=url_domain.domain) campaign = create_model(Campaign, content=create_short_link_tag(shortened_url)) result = handler.handle( GetCampaignShortenedUrlsRequest( identity_id=identity_id, campaign_id=campaign.id, ) ) assert result == [shortened_url]