def test_get_post(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data post = PostFactory(user_id=current_user_data.get('id')) url = reverse('blog:posts-detail', kwargs={'pk': post.id}) response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK
def test_get_followers(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data user = UserFactory(first_name=fake.first_name(), last_name=fake.last_name()) user.following.add(User.objects.get(id=current_user_data.get('id'))) url = reverse('auth:user-followers') response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK assert user.username == response.data[0].get('username')
def test_get_comments(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data post = PostFactory(user_id=current_user_data.get('id')) url = reverse('blog:posts-comments', kwargs={'pk': post.id}) comment = CommentFactory(user_id=current_user_data.get('id'), post=post) response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK assert comment.id == response.data[0].get('id')
def test_get_posts_likes(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data post = PostFactory(user_id=current_user_data.get('id')) user = User.objects.get(id=current_user_data.get('id')) post.likes.add(user) url = reverse('blog:posts-likes', kwargs={'pk': post.id}) response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK assert response.data[0].get('id') == user.id
def test_get_vote(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data vote = VoteFactory() PostFactory(user_id=current_user_data.get('id'), vote=vote) options_count = random.randint(1, 5) for i in range(options_count): OptionFactory(vote=vote) url = reverse('blog:votes-detail', kwargs={'pk': vote.id}) response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK assert len(response.data.get('options')) == options_count
def test_update_user(auth_client): url = reverse('auth:user-list') response = auth_client.get(url) user_data = factory.build(dict, FACTORY_CLASS=UserFactory) user_data.pop('password') url = reverse('auth:user-detail', kwargs={'pk': response.data[0].get('id')}).replace('users', 'user') response = auth_client.patch(url, user_data) assert response.status_code == status.HTTP_200_OK
def test_follow_user(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data user = UserFactory(first_name=fake.first_name(), last_name=fake.last_name()) url = reverse('auth:user-follow', kwargs={'pk': user.id}) response = auth_client.post(url) assert response.status_code == status.HTTP_200_OK assert current_user_data.get('username') in user.followers.all().values_list('username', flat=True)
def test_create_post(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data url = reverse('blog:posts-list') post_data = factory.build(dict, FACTORY_CLASS=PostFactory) response = auth_client.post(url, data=post_data) assert response.status_code == status.HTTP_201_CREATED assert response.data.get('user') == current_user_data.get('id')
def test_delete_post(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data post = PostFactory(user_id=current_user_data.get('id')) url = reverse('blog:posts-detail', kwargs={'pk': post.id}) response = auth_client.delete(url) post = Post.objects.get(id=post.id) assert response.status_code == status.HTTP_204_NO_CONTENT assert post.soft_deleted is True
def test_add_comment(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data post = PostFactory(user_id=current_user_data.get('id')) url = reverse('blog:posts-comments', kwargs={'pk': post.id}) comment_data = factory.build(dict, FACTORY_CLASS=PostFactory) response = auth_client.post(url, data=comment_data) assert response.status_code == status.HTTP_201_CREATED assert response.data.get('user').get('id') == current_user_data.get('id') assert response.data.get('post') == post.id
def test_vote(auth_client): url = reverse('auth:user-list').replace('users', 'user') current_user_data = auth_client.get(url).data vote = VoteFactory() PostFactory(user_id=current_user_data.get('id'), vote=vote) options = [] for i in range(random.randint(1, 5)): option = OptionFactory(vote=vote) options.append(option) url = reverse('blog:votes-vote', kwargs={'pk': vote.id}) response = auth_client.post(url, data={'option': options[0].id}) assert response.status_code == status.HTTP_200_OK assert current_user_data.get('id') in response.data.get('vote').get('users') assert current_user_data.get('id') in response.data.get('vote').get('options')[0].get('users')
def test_authorized_profile(endpoint, auth_client): url = reverse(endpoint) response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK
def test_get_recommended_posts(auth_client): url = reverse('blog:posts-recommend') response = auth_client.get(url) assert response.status_code == status.HTTP_200_OK