"""Tests for parent_company model.""" import pytest from account.models import parent_company from tests.unit import db_operations @pytest.fixture def db_fixture(): """Set up parent company and company brand tables.""" db_operations.create_tables() db_operations.seed_vendor_table() db_operations.seed_genre_table() db_operations.seed_region_table() db_operations.seed_country_table() db_operations.seed_parent_company_table() db_operations.seed_company_brand_table() db_operations.seed_soundscan_codes_table() db_operations.seed_vendor_assigned_to_data() db_operations.seed_service_tier_table() def test_get_parent_companies(db_fixture) -> None: """Test get_parent_companies returns all parent companies.""" result = parent_company.get_parent_companies() assert len(result) == 2 uuids = {pc.uuid for pc in result} assert uuids == { 'f1594122-7f99-4916-b103-08b0444c7b46', '955a1bbd-b623-4ea1-ab5f-8d6620c442fb', } def test_get_parent_company(db_fixture) -> None: """Test get_parent_company returns the correct parent company by UUID.""" result = parent_company.get_parent_company('955a1bbd-b623-4ea1-ab5f-8d6620c442fb') assert result is not None assert result.name == 'theorchard' assert result.display_name == 'The Orchard' def test_get_parent_company_not_found(db_fixture) -> None: """Test get_parent_company returns None for unknown UUID.""" result = parent_company.get_parent_company('does-not-exist') assert result is None def test_get_parent_company_company_brands(db_fixture) -> None: """Test get_parent_company_company_brands returns parent company with brands loaded.""" result = parent_company.get_parent_company_company_brands( '955a1bbd-b623-4ea1-ab5f-8d6620c442fb' ) assert result is not None assert result.name == 'theorchard' brand_uuids = {cb.uuid for cb in result.company_brands} assert brand_uuids == { 'd25a4cd1-e820-45f2-be5c-56edcfeb8298', '31f4f0f0-cbb4-4a2c-9eb0-d7288c5a2588', } def test_get_parent_company_company_brands_not_found(db_fixture) -> None: """Test get_parent_company_company_brands returns None for unknown UUID.""" result = parent_company.get_parent_company_company_brands('does-not-exist') assert result is None