import pytest from dmp.google.models import GoogleAdAccount, GoogleUserAdAccount from dmp.google.repositories import GoogleUserAdAccountRepository from tests.unit.types import CreateModel class TestGoogleUserAdAccountRepository: @pytest.mark.db def test_find_by_identity_id( self, repository: GoogleUserAdAccountRepository, create_model: CreateModel, identity_id: str, ) -> None: ad_account = create_model(GoogleAdAccount) ad_account_2 = create_model(GoogleAdAccount) create_model( GoogleUserAdAccount, ad_account_id=ad_account.id, ) user_ad_account = create_model( GoogleUserAdAccount, ad_account_id=ad_account_2.id, identity_id=identity_id, ) user_ad_accounts = repository.find_by_identity_id(identity_id=identity_id) assert user_ad_accounts == [user_ad_account] @pytest.mark.db def find_by_ad_accounts_ids_and_identity_id( self, repository: GoogleUserAdAccountRepository, create_model: CreateModel, identity_id: str, ) -> None: ad_account = create_model(GoogleAdAccount) ad_account_2 = create_model(GoogleAdAccount) user_ad_account = create_model( GoogleUserAdAccount, ad_account_id=ad_account.id, identity_id=identity_id, ) create_model( GoogleUserAdAccount, ad_account_id=ad_account_2.id, identity_id=identity_id, ) user_ad_accounts = repository.find_by_ad_accounts_ids_and_identity_id( ad_accounts_ids=[ad_account.id], identity_id=identity_id ) assert user_ad_accounts == [user_ad_account]