示例#1
0
 def test_nudge_is_user_eager_with_multiple_comments(
         self, user, conversation: Conversation):
     """
     Should return true if user is trying to post too much comments
     """
     conversation.comment_nudge = 4
     conversation.comment_nudge_interval = 2
     create_valid_comments(3, conversation, user)
     user_comments = get_nudge_interval_comments(conversation, user)
     assert is_user_nudge_eager(conversation, user_comments.count(),
                                user_comments)
示例#2
0
    def test_nudge_interval_comments(self, user, conversation: Conversation):
        """
        It should return only comments in specific interval
        """
        conversation.comment_nudge_interval = 1  # seconds
        create_valid_comment(conversation, user)
        time.sleep(2)
        create_valid_comments(2, conversation, user)
        recent_user_comments = get_nudge_interval_comments(conversation, user)

        assert recent_user_comments.count() == 2
示例#3
0
    def test_nudge_is_user_eager_respecting_time_limit(
            self, user, conversation: Conversation):
        """
        Should return false if user respect the time limit
        """
        conversation.comment_nudge = 4
        conversation.comment_nudge_interval = 2
        create_valid_comment(conversation, user)
        user_comments = get_nudge_interval_comments(conversation, user)

        assert is_user_nudge_eager(conversation, user_comments.count(),
                                   user_comments) is False
示例#4
0
 def test_nudge_is_user_interval_blocked_respecting_limits(
         self, user, conversation: Conversation):
     """
     Should return false if user post comments moderately
     """
     conversation.comment_nudge = 2
     conversation.comment_nudge_interval = 10
     create_valid_comment(conversation, user)
     user_comments_counter = get_nudge_interval_comments(
         conversation, user).count()
     assert is_user_nudge_interval_blocked(conversation,
                                           user_comments_counter) is False
示例#5
0
 def test_nudge_is_user_interval_blocked(self, user,
                                         conversation: Conversation):
     """
     Should return true if user post too many comments disrescpecting time
     limits
     """
     conversation.comment_nudge = 1
     conversation.comment_nudge_interval = 10
     create_valid_comment(conversation, user)
     user_comments_counter = get_nudge_interval_comments(
         conversation, user).count()
     assert is_user_nudge_interval_blocked(conversation,
                                           user_comments_counter)
示例#6
0
    def test_nudge_is_user_eager_distributing_comments_in_the_time(
            self, user, conversation: Conversation):
        """
        Should return false if user respect the total time limit
        """
        conversation.comment_nudge = 4
        conversation.comment_nudge_interval = 1
        create_valid_comment(conversation, user)
        time.sleep(2)
        create_valid_comment(conversation, user)
        user_comments = get_nudge_interval_comments(conversation, user)

        assert is_user_nudge_eager(conversation, user_comments.count(),
                                   user_comments) is False