import httpx import pytest from tests.integration.dtos import TestUser from tests.integration.utils import get_user_email @pytest.mark.parametrize( "authenticated_client_with_email,expected_status", [ (get_user_email(TestUser.NO_ACCESS), 403), (get_user_email(TestUser.AD_AUDIENCES), 200), (get_user_email(TestUser.BASIC), 403), (get_user_email(TestUser.BASIC_SHOPIFY), 403), (get_user_email(TestUser.AD_REPORTING), 403), (get_user_email(TestUser.APP_CONN_SHOPIFY), 200), (get_user_email(TestUser.APP_CONN), 200), (get_user_email(TestUser.EMAIL_VIEW), 403), (get_user_email(TestUser.EMAIL_CREATE), 403), (get_user_email(TestUser.SMS_VIEW), 403), (get_user_email(TestUser.SMS_CREATE), 403), ], indirect=["authenticated_client_with_email"], ) def test_get_ad_accounts( authenticated_client_with_email: httpx.Client, expected_status: int ) -> None: meta_response = authenticated_client_with_email.get( "/meta/ad-accounts", ) tiktok_response = authenticated_client_with_email.get( "/tiktok/ad-accounts", ) google_response = authenticated_client_with_email.get( "/google/ad-accounts", ) assert meta_response.status_code == expected_status assert tiktok_response.status_code == expected_status assert google_response.status_code == expected_status