def test_is_required(self, valid_occurrence): with pytest.raises(ValidationError) as excinfo: Occurrence(**dissoc(valid_occurrence, "state")) self.assert_validation_error("value_error.missing", excinfo)
def test_must_be_datetime(self, valid_occurrence): with pytest.raises(ValidationError) as excinfo: Occurrence( **assoc(valid_occurrence, "created_at", "some datetime")) self.assert_validation_error("value_error.datetime", excinfo)
def test_must_be_state(self, valid_occurrence): with pytest.raises(ValidationError) as excinfo: Occurrence(**assoc(valid_occurrence, "state", "some state")) self.assert_validation_error("type_error.enum", excinfo)
def test_must_be_int(self, valid_occurrence): with pytest.raises(ValidationError) as excinfo: Occurrence(**assoc(valid_occurrence, "id", "some id")) self.assert_validation_error("type_error.integer", excinfo)
def test_immutability(self, valid_occurrence): entity = Occurrence(**valid_occurrence) for key in entity.dict().keys(): with pytest.raises(TypeError): setattr(entity, key, "some value")
def test_invalidation(self, invalid_occurrence): with pytest.raises(ValidationError): Occurrence(**invalid_occurrence)
def test_validation(self, valid_occurrence): assert Occurrence(**valid_occurrence)