from django.test import TestCase from django.http import HttpResponse from django.contrib.auth.models import User from rest_framework import status class ProfileTest(TestCase): def setUp(self): self.user: User = User.objects.create(username='bozo', password='password') self.user.save() self.expected_response = {'avatar': '/static/avatars/default.avif', 'user_id': 1, 'username': 'bozo'} self.url = "/api/profiles/" def test_profile_create_on_user_created(self): response: HttpResponse = self.client.get(self.url + str(self.user.pk)) response_dict: dict = eval(response.content) self.assertDictEqual(self.expected_response, response_dict) class BlockTest(TestCase): def setUp(self): self.blocker_password = 'hello_world' self.blocker: User = User.objects.create_user('blocker', password=self.blocker_passord) self.blocked: User = User.objects.create_user('blocked', password='password') self.blocker.save() self.blocked.save() def test_normal(self): self.client.login(self.blocker.username, self.blocker_password) response: HttpResponse = self.client.post(f'/api/profiles/block/{self.blocked.pk}') self.assertEqual(response.status_code, status.HTTP_201_CREATED)