import pytest from campaigns.auth.dtos import User from campaigns.connectors.db import Database from campaigns.meta.handlers import ( GetFacebookUserPagesHandler, GetFacebookUserPagesRequest, ) from campaigns.meta.models import FacebookPage from campaigns.meta.repositories import FacebookPageRepository from tests.unit.types import CreateModel @pytest.fixture def handler( db: Database, facebook_page_repository: FacebookPageRepository, ) -> GetFacebookUserPagesHandler: return GetFacebookUserPagesHandler( db=db, facebook_page_repository=facebook_page_repository, ) async def test_facebook_get_user_pages( handler: GetFacebookUserPagesHandler, create_model: CreateModel, user: User, ) -> None: page = await create_model( FacebookPage, association__orchard_identity_id=user.id.identity_id ) pages = await handler.handle(request=GetFacebookUserPagesRequest(user=user)) assert pages[0].external_id == page.external_id assert pages[0].name == page.name assert pages[0].is_manageable == page.is_manageable