1111from domain_models import errors
1212
1313
14+ class RelatedModel (model .DomainModel ):
15+ """Example model that is used for testing relations."""
16+
17+
1418class ExampleModel (model .DomainModel ):
1519 """Example model."""
1620
@@ -29,6 +33,8 @@ class ExampleModel(model.DomainModel):
2933 date_field = fields .Date ()
3034 datetime_field = fields .DateTime ()
3135
36+ model_field = fields .Model (RelatedModel )
37+
3238
3339class FieldTest (unittest .TestCase ):
3440 """Base field tests."""
@@ -320,3 +326,34 @@ def test_set_incorrect(self):
320326
321327 with self .assertRaises (TypeError ):
322328 model .datetime_field = some_object
329+
330+
331+ class ModelTest (unittest .TestCase ):
332+ """Date and time field tests."""
333+
334+ def test_set_value (self ):
335+ """Test setting of correct value."""
336+ model = ExampleModel ()
337+ related_model = RelatedModel ()
338+
339+ model .model_field = related_model
340+
341+ self .assertEqual (model .model_field , related_model )
342+
343+ def test_reset_value (self ):
344+ """Test resetting of value."""
345+ model = ExampleModel ()
346+ related_model = RelatedModel ()
347+
348+ model .model_field = related_model
349+ model .model_field = None
350+
351+ self .assertIsNone (model .model_field )
352+
353+ def test_set_incorrect (self ):
354+ """Test setting of incorrect value."""
355+ model = ExampleModel ()
356+ some_object = object ()
357+
358+ with self .assertRaises (TypeError ):
359+ model .model_field = some_object
0 commit comments