class TestClient:
"""Tests for the Client model."""
def test_valid_instantiation(self):
invoicing_contact = Contact(
first_name="Sam",
last_name="Lowry",
email="sam.lowry@miniinf.gov",
company="Ministry of Information",
)
client = Client.validate(
dict(
name="Ministry of Information",
invoicing_contact=invoicing_contact,
)
)
assert store_and_retrieve(client)
def test_missing_name(self):
"""Test that a ValidationError is raised when the name is missing."""
with pytest.raises(ValidationError):
Client.validate(dict())
try:
client = Client.validate(dict())
except ValidationError as ve:
for error in ve.errors():
field_name = error.get("loc")[0]
error_message = error.get("msg")
assert field_name == "name"
Demo code: