UNIt Test - Как протестировать наборы представлений для создания функции в DRF

Я хочу протестировать функцию создания, которая находится внутри набора представлений. Я попробовал и получил 400 ошибку.

views.py

class PersonalInfoAPI(viewsets.ViewSet):
    permission_classes = [IsOwnerPermission]

    def get_object(self, pk):
        obj = get_object_or_404(Employee.objects.all(), pk=pk)
        self.check_object_permissions(self.request, obj)
        return obj

    def create(self, request):
        print("im in create")
        personal_info = JSONParser().parse(request)
        data = personal_info['data']['personal_info']
        data['appraisal_master_id'] = personal_info['data']['appraisal_master_id']
        employee = self.get_object(pk=data['employee_id'])
        appraisal = get_object_or_404(Appraisal, pk=data['appraisal_master_id'])
        employee_appraisal = EmployeeAppraisal.objects.filter(appraisal=appraisal,
                                                              employee=employee).first()
        if employee_appraisal:
            personal_info_serializer = PersonalInfoSerializer(employee_appraisal, data=data)
            if personal_info_serializer.is_valid():
                personal_info_serializer.save()
                return Response(employee_appraisal.appraisal_info(user=self.request.user), status=status.HTTP_200_OK)
        else:
            personal_info_serializer = PersonalInfoSerializer(data=data)
            if personal_info_serializer.is_valid():
                employee_appraisal = personal_info_serializer.save()
                return Response(employee_appraisal.appraisal_info(user=self.request.user),
                                status=status.HTTP_201_CREATED)
        return Response(personal_info_serializer.errors, status=status.HTTP_400_BAD_REQUEST)

test.py

def test_personal_info_api(self):
         url = reverse('employee1-list')
        self.client = Client(HTTP_AUTHORIZATION='Token ' + token.key)
        resp1 = self.client.post(url, data={'employee_id': 1,
                                            'appraisal_master_id': 1}, format='json')
        print(resp1)

        self.assertEqual(resp1.status_code, 200)

Я новичок в django и тестировании. Любая помощь приветствуется,

Back to Top