import pytest from fansifter_common.auth.account import Account from fansifter_common.auth.identity import Identity from dmp.audiences.handlers import GetAudiencesHandler, GetAudiencesRequest from dmp.audiences.models import Audience from tests.unit.types import CreateModel class TestGetAudiencesHandler: @pytest.mark.db def test_get_audiences_empty( self, handler: GetAudiencesHandler, identity: Identity ) -> None: response = handler.handle( GetAudiencesRequest( identity=identity, search=None, vendor_id=None, subaccount_id=None, global_participant_id=None, custom_list_id=None, audience_ids=None, target=None, order_by="createdAt.desc", limit=10, offset=0, ) ) assert response.total == 0 assert response.items == [] @pytest.mark.db def test_get_audiences( self, handler: GetAudiencesHandler, create_model: CreateModel, identity: Identity, account: Account, ) -> None: audience = create_model( Audience, vendor_id=account.vendor_id, subaccount_id=account.subaccount_id, ) create_model( Audience, vendor_id=account.vendor_id + 1, subaccount_id=account.subaccount_id + 1, ) response = handler.handle( GetAudiencesRequest( identity=identity, search=None, vendor_id=None, subaccount_id=None, global_participant_id=None, custom_list_id=None, audience_ids=None, target=None, order_by="createdAt.desc", limit=10, offset=0, ) ) assert response.total == 1 assert response.items == [audience]