Пример #1
0
    def test_nested_error(self):
        error = NestedValidationError({"some": ValidationError("error")})
        self.assertEqual(error.message_dict, {"some": ["error"]})

        inner = NestedValidationError("error")
        error = NestedValidationError({"some": inner})
        self.assertEqual(error.message_dict, {"some": ["error"]})
Пример #2
0
    def test_string_message(self):
        error = NestedValidationError("error")

        self.assertEqual(error.message, "error")
        self.assertIsNone(error.params)

        self.assertIsInstance(error.error_list, list)
        self.assertEqual(len(error.error_list), 1)
        self.assertEqual(error.error_list, [error])

        error_dict = error.update_error_dict({"some": "other error"})

        self.assertDictEqual({
            "some": "other error",
            "__all__": [error]
        }, error_dict)
Пример #3
0
 def test_list_nested(self):
     error = NestedValidationError({
         "some": {
             "field": "error",
             "list": ["error1", "error2"],
             "object": {
                 "field": "error"
             },
             "nested": [{
                 "field": "error",
                 "list": ["errors"]
             }],
         }
     })
     self.assertEqual(
         error.message_dict,
         {
             "some": {
                 "field": ["error"],
                 "list": ["error1", "error2"],
                 "object": {
                     "field": ["error"]
                 },
                 "nested": [{
                     "field": ["error"],
                     "list": ["errors"]
                 }],
             }
         },
     )
Пример #4
0
    def test_nested_error_error(self):
        inner = NestedValidationError("error")
        error = NestedValidationError({"some": inner})

        self.assertIsInstance(error.error_dict, dict)
        self.assertIn("some", error.error_dict)

        errors = error.error_dict["some"]

        self.assertIsInstance(errors, list)

        error = errors[0]

        self.assertEqual(error.message, "error")
        self.assertIsNone(error.params)

        self.assertIsInstance(error.error_list, list)
        self.assertEqual(len(error.error_list), 1)
        self.assertEqual(error.error_list, [error])
Пример #5
0
    def test_dict_message(self):
        error = NestedValidationError({"some": "error"})

        self.assertIsInstance(error.error_dict, dict)
        self.assertIn("some", error.error_dict)

        errors = error.error_dict["some"]

        self.assertIsInstance(errors, list)

        other = [ValidationError("other error")]
        error_dict = error.update_error_dict({"some": other})

        self.assertDictEqual({"some": [other[0], errors[0]]}, error_dict)

        error = errors[0]

        self.assertEqual(error.message, "error")
        self.assertIsNone(error.params)

        self.assertIsInstance(error.error_list, list)
        self.assertEqual(len(error.error_list), 1)
        self.assertEqual(error.error_list, [error])
Пример #6
0
    def test_update_error_dict(self):
        error = NestedValidationError("error")
        self.assertDictEqual({
            "some": "other error",
            "__all__": [error]
        }, error.update_error_dict({"some": "other error"}))

        other = ValidationError("other error")
        error2 = NestedValidationError({"some": error})
        self.assertDictEqual({"some": [other, error]},
                             error2.update_error_dict({"some": [other]}))
Пример #7
0
 def test_nested(self):
     error = NestedValidationError(
         NestedValidationError({"some": {
             "field": ["error"]
         }}))
     self.assertEqual(error.message_dict, {"some": {"field": ["error"]}})
Пример #8
0
 def test_dict(self):
     error = NestedValidationError({"some": "error"})
     self.assertEqual(error.message_dict, {"some": ["error"]})
Пример #9
0
 def test_list(self):
     error = NestedValidationError(["error"])
     self.assertEqual(error.messages, ["error"])
Пример #10
0
 def test_repr(self):
     self.assertTrue(
         repr(NestedValidationError("error")).startswith(
             "NestedValidationError"))
Пример #11
0
    def test_string(self):
        error = NestedValidationError("error")
        self.assertEqual(error.messages, ["error"])

        error = NestedValidationError("error %s", params=("here", ))
        self.assertEqual(error.messages, ["error here"])
Пример #12
0
 def invalid(x):
     raise NestedValidationError({"bad": ["really"]})