Files
mostovik-backend/tests/apps/parsers/organization_helpers.py
Aleksandr Meshchriakov 802257a757
Some checks failed
CI/CD Pipeline / Quality Gate (push) Failing after 32s
CI/CD Pipeline / Build and Push Images (push) Has been skipped
CI/CD Pipeline / Internal Notify (push) Successful in 0s
CI/CD Pipeline / Deploy Dev via Compose (push) Has been skipped
fix: resolve parser organizations from directory only
2026-06-07 16:28:57 +02:00

31 lines
1.1 KiB
Python

"""Organization helpers for parser tests."""
from __future__ import annotations
from django.utils import timezone
from organizations.models import Organization
def create_directory_organization(**kwargs) -> Organization:
"""Create an organization row that belongs to the authoritative directory."""
kwargs.setdefault("directory_imported_at", timezone.now())
return Organization.objects.create(**kwargs)
def get_or_create_directory_organization(
*,
defaults: dict | None = None,
**lookup,
) -> tuple[Organization, bool]:
"""Get or create an authoritative directory organization for ingestion tests."""
directory_defaults = dict(defaults or {})
directory_defaults.setdefault("directory_imported_at", timezone.now())
organization, created = Organization.objects.get_or_create(
defaults=directory_defaults,
**lookup,
)
if not created and organization.directory_imported_at is None:
organization.directory_imported_at = timezone.now()
organization.save(update_fields=["directory_imported_at"])
return organization, created