Test router in DRF

hello im trying to test a router and i cant seem to find the url this is inside test function

def test_send(self):
    token1 = Token.objects.get(user=self.user1)
    response = self.client.post(
        reverse('send-create'),
        data=json.dumps({
            "receiver": self.user2,
            "subject": "my first message",
            "msg": "hello this is my first"
        }),
        content_type='application/json',
        **{'HTTP_AUTHORIZATION': f'Bearer {token1}'}
    )

this is router

router.register('send', views.SendMessagesView, basename='send_message')

and this is the view

class SendMessagesView(viewsets.ModelViewSet):
    serializer_class = SendMessageSerializer
    permission_classes = [permissions.IsAuthenticated]
    http_method_names = ['post']

    def create(self, data):
        msg = Message.objects.create(
            sender=self.request.user,
            receiver=User.objects.get(id=data.data['receiver']),
            subject=data.data['subject'],
            msg=data.data['msg'],
            creation_date=datetime.date.today()
        )
        msg.save()
        serializer = MessageSerializer(msg)
        return Response(serializer.data).

the error i get is : django.urls.exceptions.NoReverseMatch: Reverse for 'send-create' not found. 'send-create' is not a valid view function or pattern name.

please if anyone can help me undertand what am i doing wrong

test router in django rest framework

Back to Top