How do I write test cases with local permission_classes set in viewsets in DRF?

everytime I run the Test an assertionError is thrown 403!=200, which is natural, because somehow its is failing to log in with a user or super_user. what I need to know is how do authenticate here to run the test with no failure.

##views.py

class EmployeeDetailsViewSet(viewsets.ModelViewSet):
    permission_classes= [IsAuthenticated]
    queryset= EmployeeDetail.objects.all().order_by('employeeCode')
    serializer_class= EmployeeDetailsSerializer

class SalaryDetailsViewSet(viewsets.ModelViewSet):
    permission_classes = [IsAdminUser]
    queryset= SalaryDetail.objects.all().order_by('salaryCode')
    serializer_class= SalaryDetailsSerializer

##settings.py

REST_FRAMEWORK={
    'DEFAULT_PERMISSION_CLASSES':['rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly']
}

##test.py

def testSalaryDetails(self):
        client = APIClient()
        client.login(username='admin', password='qwefghbnm')
        response = client.get('/salaryDetails/')
        self.assertEqual(response.status_code, 200)
        self.client.logout()
Back to Top