import pytest from dirty_equals import IsList from fansifter_common.identifiers.types import FansifterProfileIdentifier from preference_center.profile.handlers import ( GetSubscriptionsHandler, GetSubscriptionsRequest, ) from preference_center.profile.models import ( Profile, Subscription, ) from tests.unit.types import CreateModel, CreateProfileToken class TestGetSubscriptionsHandler: @pytest.mark.db def test_get_subscriptions( self, handler: GetSubscriptionsHandler, create_model: CreateModel, create_profile_token: CreateProfileToken, ) -> None: profile = create_model(Profile) token = create_profile_token(FansifterProfileIdentifier(profileId=profile.id)) subscription_1 = create_model(Subscription, profile_id=profile.id) subscription_2 = create_model(Subscription, profile_id=profile.id) result = handler.handle(GetSubscriptionsRequest(token=token)) assert result == IsList( subscription_1, subscription_2, check_order=False, )