generated from john/python-template
V4.3 revision to Document Types
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user