class MemberIsBlackListed(unittest.TestCase): blocker_source = mongomock.MongoClient().db.blacklist blocker_service = BlockerService(blocker_source) karma_source = mongomock.MongoClient().db.karma karma_service = KarmaMemberService(karma_source) member = Member("1", "1") def test_member_added_to_blacklist(self): self.blocker_service.blacklist(self.member) assert self.blocker_service.find_member(self.member) is not None
def __init__(self, bot, karma_service=KarmaMemberService(datasource.karma), blocker_service=BlockerService(datasource.blacklist)): self.bot = bot self.karma_service = karma_service self.blocker_service = blocker_service # this creates a dictionary where each value is a dictionary whose values are a list # with lambda this automatically creates an empty list on non existing keys self._members_on_cooldown = defaultdict(lambda: defaultdict(list)) self._running_timers = defaultdict( lambda: defaultdict(lambda: defaultdict()))
class KarmaChange(unittest.TestCase): karma_source = mongomock.MongoClient().db.karma karma_service = KarmaMemberService(karma_source) karma_member = KarmaMember("1", "1", "1", "1") def test_karma_increased(self): self.karma_service.upsert_karma_member(self.karma_member) assert self.karma_service.aggregate_member_by_karma( self.karma_member) == 1 self.karma_service.upsert_karma_member(self.karma_member) assert self.karma_service.aggregate_member_by_karma( self.karma_member) == 2 for doc in self.karma_service.aggregate_member_by_channels( self.karma_member): assert doc["karma"] == 2 def test_karma_reset(self): self.karma_service.delete_all_karma(self.karma_member) assert self.karma_service.aggregate_member_by_karma( self.karma_member) is None
def __init__(self, bot, karma_service=KarmaMemberService(datasource.karma)): self.bot = bot self.karma_service = karma_service