Клиентский патч дает 400 ошибок в тестировании django - PullRequest
0 голосов
/ 10 апреля 2019

Так что, в основном, когда я пытаюсь проверить мой вид исправления, он вообще не исправляется, так как я получаю ошибку 400 .Однако, когда я вызываю тот же самый вид исправления за пределами APITestCase, во время работы тестового сервера он работает.

, что я пробовал:

  • patch_data = json.dumps ({'first_name': 'test999'})
  • format = 'json'

На APITestCase:

    def test_patch_update_data(self):
        self.client.force_authenticate(user=self.user)
        self.assertEqual(self.user.first_name, 'Robert')
        patch_data = {'first_name': 'test999'}
        response = self.client.patch('http://testserver/api/patch/{0}/'.format(
            self.user.id), patch_data, format='json')
        self.assertEqual(response.status_code, 200) # ERROR:GIVES 400!
        self.assertEqual(self.user.first_name, 'test999')

На views.py

class UsuariosUpdatePatchAPIView(UpdateAPIView):
    queryset = Usuarios.objects.all()
    serializer_class = UsuariosUpdateSerializer
    permission_classes = [IsAuthenticated, IsSelfUser]

Ошибка:

self.assertEqual(response.status_code, 200)
AssertionError: 400 != 200

Заранее спасибо!:)

1 Ответ

0 голосов
/ 11 апреля 2019

Как глупо я:

Как указано в комментариях, response.data дает очень полезную информацию. Оказалось, что в поле fist_name принимаются только буквы! Таким образом, решение менялось test999 на что-то без цифр!

...