from unittest import mock import pytest from fansifter_common.adapters.ows_account import Vendor from fansifter_common.core.enums import Brand from starlette.testclient import TestClient from email_campaigns.emails.models import EmailDomain from tests.unit.types import BuildModel, CreateModel @pytest.mark.db def test_get_email_domains( client: TestClient, create_model: CreateModel, ows_account_client_mock: mock.MagicMock, build_model: BuildModel, ) -> None: vendor = build_model(Vendor, company_brand=Brand.SME) email_domain = create_model( EmailDomain, brand=vendor.brand, vendor_id=None, subaccount_id=None, ) ows_account_client_mock.get_vendor.return_value = vendor response = client.get("/domains", params={"vendorId": 1, "subaccountId": 0}) assert response.status_code == 200 assert response.json() == [ { "id": email_domain.id, "domain": email_domain.domain, "brand": email_domain.brand, } ]