/
tsps
/
case_loader
Обзор
Документация
Войти
/
tsps
/
case_loader
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
tests/test_db_storage.py
69 строк
3 KB
Василий Петров
Добавлена дата в модель Документов
01 мар 2026, 21:34
01 мар 2026, 21:34
badc5e3
Код
Авторство
О чём код?
from sqlalchemy import text from app.core.storage.db_storage import DbStorage class TestDbStorage: def test_save_document_creates_new_record(self, db_connection, reference_data): """Тест: первый вызов создаёт новую запись""" storage = DbStorage(db_connection) doc_id = storage.save_document( case_number="А47-12345/2025", title="Решение по делу А47-12345/2025", date="2000-01-01", pdf_content=b"%PDF-1.4 test content", parsed_text="Текст решения", judge_id=reference_data["judge_id"], court_id=reference_data["court_id"], document_type_id=reference_data["document_type_id"] ) # Проверяем, что вернулся ID assert doc_id is not None assert isinstance(doc_id, int) # Проверяем, что запись существует в БД result = db_connection.execute( text("SELECT * FROM document WHERE id = :id"), {"id": doc_id} ).fetchone() assert result is not None assert result.title == "Решение по делу А47-12345/2025" assert result.text == "Текст решения" def test_save_document_different_title_creates_new_record(self, db_connection, reference_data): """Тест: разные заголовки - разные документы""" storage = DbStorage(db_connection) # Два документа с разными заголовками doc_id_1 = storage.save_document( case_number="А47-12345/2025", title="Решение по делу А47-12345/2025", date="2000-01-01", pdf_content=b"%PDF-1.4", parsed_text="Текст решения", judge_id=reference_data["judge_id"], court_id=reference_data["court_id"], document_type_id=reference_data["document_type_id"] ) doc_id_2 = storage.save_document( case_number="А47-12345/2025", title="Апелляционная жалоба по делу А47-12345/2025", date="2000-01-01", pdf_content=b"%PDF-1.4", parsed_text="Текст жалобы", judge_id=reference_data["judge_id"], court_id=reference_data["court_id"], document_type_id=reference_data["document_type_id"] ) # Проверяем, что ID разные assert doc_id_1 != doc_id_2 # Проверяем, что в таблице две записи count = db_connection.execute( text("SELECT COUNT(*) FROM document WHERE case_entity_id = (SELECT id FROM case_entity WHERE number = 'А47-12345/2025')") ).scalar() assert count == 2