Интегрирован wesp в сайт
CI / quality (push) Canceled after 0s

This commit is contained in:
влад
2026-07-17 12:57:18 +03:00
parent 5dfa06ddbe
commit 355c0ef9f1
883 changed files with 194576 additions and 177 deletions
+44
View File
@@ -0,0 +1,44 @@
"""Аудит lab и seed import норм."""
from __future__ import annotations
import unittest
from pathlib import Path
from app import create_app, db
from app.lab.commands.audit_lab_data import audit_lab_data
from app.lab.commands.import_seed import import_norm_profiles
from app.lab.models import LabAnimalProfile, LabProfileNorm
from app.lab.seed_paths import norms_dir
from app.services.setup_state import mark_setup_complete
from tests.helpers.zootech_test_helpers import ZootechTestConfig
_TAB = norms_dir()
class LabDataAuditTests(unittest.TestCase):
def setUp(self) -> None:
self.app = create_app(ZootechTestConfig)
self.ctx = self.app.app_context()
self.ctx.push()
db.create_all()
mark_setup_complete(self.app)
def tearDown(self) -> None:
db.session.remove()
db.drop_all()
self.ctx.pop()
def test_audit_empty_db(self) -> None:
report = audit_lab_data()
self.assertIsNotNone(report)
def test_import_norm_profiles_beef(self) -> None:
if not (_TAB / "Нормы КРС.csv").is_file():
self.skipTest("seed norms CSV missing")
stats = import_norm_profiles(csv_dir=_TAB, replace_reference=True)
self.assertGreater(stats.profiles_created + stats.profiles_updated, 0)
profile = LabAnimalProfile.query.filter_by(profile_key="norm_beef_0001").first()
self.assertIsNotNone(profile)
self.assertGreater(LabProfileNorm.query.count(), 0)
self.assertGreater(LabProfileNorm.query.count(), 100)