add: test: friend

This commit is contained in:
starnakin 2024-04-09 13:56:56 +02:00
parent 0a9820f762
commit b4dccfb83e

52
profiles/tests/friends.py Normal file
View File

@ -0,0 +1,52 @@
from django.test import TestCase
from django.http import HttpResponse
from django.contrib.auth.models import User
from rest_framework import status
from profiles.serializers.ProfileSerializer import ProfileSerializer
from profiles.models.ProfileModel import ProfileModel
class FriendTest(TestCase):
def setUp(self):
self.user_password = 'hello_world'
self.user: User = User.objects.create_user('blocker', password=self.user_password)
self.friend_password = "password"
self.friend: User = User.objects.create_user('blocked', password=self.friend_password)
self.user.save()
self.friend.save()
self.user_profile = ProfileModel.objects.get(user=self.user)
self.friend_profile = ProfileModel.objects.get(user=self.friend)
def test_normal(self):
self.client.login(username=self.user.username, password=self.user_password)
response: HttpResponse = self.client.post(f'/api/profiles/friends/{self.friend.pk}')
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
response = self.client.get('/api/profiles/friends')
self.assertListEqual(response.json(), [ProfileSerializer(self.friend_profile).data])
self.client.login(username=self.friend.username, password=self.friend_password)
response = self.client.get('/api/profiles/friends')
self.assertListEqual(response.json(), [ProfileSerializer(self.user_profile).data])
def test_yourself(self):
self.client.login(username=self.user.username, password=self.user_password)
response: HttpResponse = self.client.post(f'/api/profiles/friends/{self.user.pk}')
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
response = self.client.get('/api/profiles/friends')
self.assertListEqual(response.json(), [])
def test_user_not_found(self):
self.client.login(username=self.user.username, password=self.user_password)
response: HttpResponse = self.client.post(f'/api/profiles/friends/32')
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
response = self.client.get('/api/profiles/friends')
self.assertListEqual(response.json(), [])