def like(request, content_type, id, vote): #content_type = content_type.replace("-", ".") app, modelname = content_type.split('-') object = ContentType.objects.get(app_label=app, model__iexact=modelname).model_class().objects.get(id=id) if can_vote(object, request.user, request): UserActivity.track_activity(user=request.user.member, activity=activity_constants.ACTIVITY_LIKED, sub=ugettext('<a href="%s">%s</a>' % (object.get_absolute_url(), object.comment if isinstance(object, FoundryComment) else object.title)), content_object=object, image_object=object) return likes_views.like(request, content_type, id, vote)
def test_report_comment_abuse_signal(self): # Prepare context. context = Context() request = RequestFactory().get('/') request.user = AnonymousUser() request.META['HTTP_REFERER'] = '/' request.META['HTTP_USER_AGENT'] = 'testing_agent' request.secretballot_token = SecretBallotUserIpUseragentMiddleware().\ generate_token(request) comment = Comment.objects.create( content_type_id=1, site_id=1, comment="abuse report testing comment" ) context['request'] = request context['comment'] = comment content_type = '-'.join((comment._meta.app_label, comment._meta.module_name)) # Reset previous like and test it applied. Vote.objects.all().delete() # Report an abuse comment - 1st like( request, content_type=content_type, id=comment.id, vote=-1 ) self.assertEqual(Vote.objects.all().count(), 1) self.failIf(Comment.objects.get(pk=comment.pk).is_removed) # Report an abuse comment - 2nd request.META['HTTP_USER_AGENT'] = 'testing_agent_2' request.secretballot_token = SecretBallotUserIpUseragentMiddleware().\ generate_token(request) like( request, content_type=content_type, id=comment.id, vote=-1, ) self.assertEqual(Vote.objects.all().count(), 2) self.failIf(Comment.objects.get(pk=comment.pk).is_removed) # Report an abuse comment - 3rd request.META['HTTP_USER_AGENT'] = 'testing_agent_3' request.secretballot_token = SecretBallotUserIpUseragentMiddleware().\ generate_token(request) like( request, content_type=content_type, id=comment.id, vote=-1, ) self.assertEqual(Vote.objects.all().count(), 3) self.failUnless(Comment.objects.get(pk=comment.pk).is_removed)