def test_user_can_add_conversation_as_favorite(self, rf, user, conversation): request = rf.post('', {'action': 'favorite'}) request.user = user conversations.detail(request, conversation) assert FavoriteConversation.objects.filter( user=user, conversation=conversation).exists()
def test_vote_in_comment(self, rf, conversation, comment, db): user = User.objects.create_user('*****@*****.**', 'password') conversation.comment = comment conversation.save() request = rf.post('', { 'action': 'vote', 'vote': 'agree', 'comment_id': comment.id }) request.user = user conversations.detail(request, conversation) assert votes_counter(None)(comment) == 1
def test_invalid_vote_in_comment(self, rf, conversation, comment): request = rf.post('', { 'action': 'vote', 'vote': 'INVALID', 'comment_id': comment.id }) user = User.objects.create_user('*****@*****.**', 'password') conversation = comment conversation.save() request.user = user with raises(Exception): conversations.detail(request, conversation)
def test_invalid_vote_in_comment(self, rf, conversation, comment, db): request = rf.post('', {'action': 'vote', 'vote': 'not agree'}) user = User.objects.create_user('*****@*****.**', 'password') request.user = user conversation.comment = comment conversation.save() assert isinstance(conversations.detail(request, conversation), HttpResponseServerError)
def test_vote_in_comment(self, rf, conversation, comment, db): request = rf.post('', {'action': 'vote', 'vote': 'agree'}) user = User.objects.create_user('*****@*****.**', 'password') request.user = user conversation.comment = comment conversation.save() response = conversations.detail(request, conversation) assert votes_counter(response.get('comment')) == 1
def test_invalid_action_conversation_detail(self, rf, conversation, comment): request = rf.post('', {'action': 'invalid'}) user = User.objects.create_user('*****@*****.**', 'password') conversation.save() request.user = user response = conversations.detail(request, conversation) assert isinstance(response, HttpResponseServerError)
def test_anonymous_user_cannot_comment(self, rf, conversation): request = rf.post('', {'action': 'comment', 'comment': 'test comment'}) request.user = AnonymousUser() with raises(PermissionError): conversations.detail(request, conversation)
def test_user_can_comment(self, rf, conversation): request = rf.post('', {'action': 'comment', 'comment': 'test comment'}) user = User.objects.create_user('*****@*****.**', 'password') request.user = user conversations.detail(request, conversation) assert Comment.objects.filter(author=user)[0].content == 'test comment'
def test_annonymous_user_cannot_comment(self, rf, conversation): request = rf.post('', {'action': 'comment', 'comment': 'test comment'}) request.user = AnonymousUser() response = conversations.detail(request, conversation) assert response.get('comment_error') is not None
def test_user_post_invalid_comment(self, rf, conversation): request = rf.post('', {'action': 'comment', 'content': ''}) user = User.objects.create_user('*****@*****.**', 'password') request.user = user response = conversations.detail(request, conversation) assert response['conversation']