from unittest import mock from fansifter_common.auth.account import Account, AccountAccess from dmp.rosters.constants import GLOBAL_FAN_DATA_LISTS_FEATURE_ID from dmp.rosters.services import GlobalFanDataAccessService class TestGlobalFanDataAccessService: def test_is_enabled_for_vendor( self, service: GlobalFanDataAccessService, ows_account_client_mock: mock.MagicMock, ) -> None: ows_account_client_mock.get_vendor_features.return_value = [ mock.Mock(feature_id=GLOBAL_FAN_DATA_LISTS_FEATURE_ID) ] assert service.is_enabled_for_vendor(1) def test_is_not_enabled_for_vendor( self, service: GlobalFanDataAccessService, ows_account_client_mock: mock.MagicMock, ) -> None: ows_account_client_mock.get_vendor_features.return_value = [] assert not service.is_enabled_for_vendor(1) def test_is_enabled_for_any_vendor( self, service: GlobalFanDataAccessService, ows_account_client_mock: mock.MagicMock, ) -> None: ows_account_client_mock.get_vendor_features.return_value = [ mock.Mock(feature_id=GLOBAL_FAN_DATA_LISTS_FEATURE_ID) ] account_access = AccountAccess(accounts=[Account(vendor_id=1, subaccount_id=0)]) assert service.is_enabled_for_any_vendor( vendor_ids=account_access.vendor_ids, )