mercredi 10 avril 2019

Client patch gives 400 error in django testing

So basically when i try to test my patch view it doesn't patch at all as i get a 400 error. However, when i call the same patch view outside the APITestCase, while running the test server, it does work.

what i've tried:

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

At 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')

At views.py

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

The error:

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

Thanks in advance! :)

Aucun commentaire:

Enregistrer un commentaire