@@ -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)
|
||||
Reference in New Issue
Block a user