"""Tests for Organization services.""" from apps.organization.services import OrganizationService from django.test import TestCase from .factories import OrganizationFactory class OrganizationServiceTest(TestCase): """Tests for OrganizationService.""" def test_get_or_create_by_inn_creates_new(self): """Test get_or_create_by_inn creates new organization.""" org, created = OrganizationService.get_or_create_by_inn( inn="1234567890", defaults={"name": "Test Org", "ogrn": "1234567890123"}, ) self.assertTrue(created) self.assertEqual(org.inn, "1234567890") self.assertEqual(org.name, "Test Org") def test_get_or_create_by_inn_returns_existing(self): """Test get_or_create_by_inn returns existing organization.""" existing = OrganizationFactory.create(inn="9876543210") org, created = OrganizationService.get_or_create_by_inn( inn="9876543210", defaults={"name": "Different Name"}, ) self.assertFalse(created) self.assertEqual(org.pk, existing.pk) self.assertEqual(org.name, existing.name) def test_get_by_inn_found(self): """Test get_by_inn returns organization.""" existing = OrganizationFactory.create(inn="5555555555") result = OrganizationService.get_by_inn("5555555555") self.assertEqual(result.pk, existing.pk) def test_get_by_inn_not_found(self): """Test get_by_inn returns None when not found.""" result = OrganizationService.get_by_inn("0000000000") self.assertIsNone(result) def test_search_by_name(self): """Test search_by_name functionality.""" OrganizationFactory.create(name="ООО Ромашка") OrganizationFactory.create(name="ООО Василек") OrganizationFactory.create(name="АО Ромашка-Плюс") results = OrganizationService.search_by_name("Ромашка") self.assertEqual(results.count(), 2)