import pytest from dirty_equals import IsList from dmp.ad_accounts.enums import AdAccountPlatform from dmp.ad_accounts.models import AdAccountDbt from dmp.ad_accounts.repositories import AdAccountDbtRepository from tests.unit.types import CreateReportingModel class TestAdAccountDbtRepository: @pytest.mark.db def test_find_by_ids_and_platform( self, repository: AdAccountDbtRepository, create_reporting_model: CreateReportingModel, ) -> None: platform = AdAccountPlatform.META ad_account_1 = create_reporting_model(AdAccountDbt, platform=platform) ad_account_2 = create_reporting_model(AdAccountDbt, platform=platform) accounts = repository.find_by_ids_and_platform( [ad_account_1.id, ad_account_2.id], platform=platform ) assert accounts == IsList( ad_account_1, ad_account_2, check_order=False, ) @pytest.mark.db def test_exists_by_schema_and_platform( self, repository: AdAccountDbtRepository, create_reporting_model: CreateReportingModel, ) -> None: ad_account = create_reporting_model(AdAccountDbt) result = repository.exists_by_schema_and_platform( schema=ad_account.source_schema, platform=ad_account.platform ) assert result is True