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)
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
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
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
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)
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