import pytest from dirty_equals import IsList from dmp.rosters.models import CustomList from dmp.rosters.repositories import CustomListRepository from tests.unit.types import CreateReportingModel class TestCustomListRepository: @pytest.mark.db def test_get_allowed__ids( self, repository: CustomListRepository, create_reporting_model: CreateReportingModel, ) -> None: custom_list_1 = create_reporting_model(CustomList) custom_list_2 = create_reporting_model(CustomList) custom_list_ids = repository.get_allowed_ids( vendor_ids=[custom_list_1.vendor_id, custom_list_2.vendor_id], subaccount_ids=[custom_list_1.subaccount_id, custom_list_2.subaccount_id], ) assert custom_list_ids == IsList( custom_list_1.id, custom_list_2.id, check_order=False, ) @pytest.mark.db def test_get_allowed_custom_list_ids_empty( self, repository: CustomListRepository ) -> None: custom_list_ids = repository.get_allowed_ids( vendor_ids=[1], subaccount_ids=[1], ) assert custom_list_ids == [] @pytest.mark.db def test_get_custom_lists( self, repository: CustomListRepository, create_reporting_model: CreateReportingModel, ) -> None: custom_list_1 = create_reporting_model(CustomList) custom_list_2 = create_reporting_model(CustomList) custom_lists = repository.find_allowed( custom_list_ids=[ custom_list_1.id, custom_list_2.id, ], vendor_ids=[custom_list_1.vendor_id, custom_list_2.vendor_id], subaccount_ids=[custom_list_1.subaccount_id, custom_list_2.subaccount_id], ) assert custom_lists == IsList( custom_list_1, custom_list_2, check_order=False, )