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 и тестировании. Любая помощь приветствуется,