Files
state-corp-backend/tests/apps/organization/test_services.py
Aleksandr Meshchriakov 8ed3e1175c
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 5m5s
CI/CD Pipeline / Run Tests (push) Failing after 5m5s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
CI/CD Pipeline / Deploy to Server (push) Has been skipped
Add initial implementations for forms and organization apps with serializers, factories, and admin configurations
2026-02-17 09:26:08 +01:00

53 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""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)