Esempio n. 1
0
 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()
Esempio n. 2
0
 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
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
 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
Esempio n. 6
0
 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)
Esempio n. 7
0
 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)
Esempio n. 8
0
 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'
Esempio n. 9
0
 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
Esempio n. 10
0
 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']