V4.3 revision to Document Types

This commit is contained in:
Jim Lancaster
2026-08-15 13:29:53 -05:00
parent aed827babe
commit a78b58ff40
30 changed files with 1481 additions and 291 deletions
+8 -8
View File
@@ -27,8 +27,8 @@ def _make_document(**overrides) -> Document:
return Document(**defaults)
def _persist_document_type(session, *, code: str = "letter", label: str = "Letter") -> DocumentType:
document_type = DocumentType(code=code, label=label)
def _persist_document_type(session, *, label: str = "Letter") -> DocumentType:
document_type = DocumentType(label=label, normalized_label=label.strip().casefold())
session.add(document_type)
session.commit()
session.refresh(document_type)
@@ -45,7 +45,7 @@ def _persist_person_role(session, *, code: str = "author", label: str = "Author"
def _persist_document(session) -> Document:
document_type = _persist_document_type(session)
document = _make_document(document_type_id=document_type.id, document_type=document_type.code)
document = _make_document(document_type_id=document_type.id)
session.add(document)
session.commit()
session.refresh(document)
@@ -117,8 +117,8 @@ class TestDocumentModel:
assert document.updated_at is not None
def test_can_reference_document_type_registry(self, session):
document_type = _persist_document_type(session, code="record", label="Record")
document = _make_document(document_type_id=document_type.id, document_type=document_type.code)
document_type = _persist_document_type(session, label="Record")
document = _make_document(document_type_id=document_type.id)
session.add(document)
session.commit()
session.refresh(document)
@@ -264,9 +264,9 @@ class TestRegistryModels:
with pytest.raises(IntegrityError):
session.commit()
def test_document_type_code_is_unique(self, session):
_persist_document_type(session, code="journal", label="Journal")
duplicate = DocumentType(code="journal", label="Journal Duplicate")
def test_document_type_normalized_label_is_unique(self, session):
_persist_document_type(session, label="Journal")
duplicate = DocumentType(label=" journal ", normalized_label="journal")
session.add(duplicate)
with pytest.raises(IntegrityError):
session.commit()