Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
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')
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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')
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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
Ejemplo n.º 11
0
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')
Ejemplo n.º 12
0
def test_authorized_profile(endpoint, auth_client):
    url = reverse(endpoint)
    response = auth_client.get(url)
    assert response.status_code == status.HTTP_200_OK
Ejemplo n.º 13
0
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