def create_league(user, name=None, users=None, notify=True): if name is None: haikunator = Haikunator() name = haikunator.haikunate(token_length=0) new_league = League(id=str(ObjectId()), created=datetime.utcnow(), name=name, owner_id=user.id, status=LeagueStatus.CREATED) new_league.owner = user insert_league(new_league) members = [user] if users is not None: members = list(set(members + users)) for member in members: insert_membership(new_league, member) if notify and member.id != user.id: user_added_to_league_notification(member, new_league) return new_league
def add_user(league, user_email, notify=True, user=None): if not user_email: return user = user or get_user_by_email(user_email) if user and user not in league.users: league.users.append(user) insert_membership(league, user) if notify: user_added_to_league_notification(user, league) elif user is None: invited_user = InvitedUser(id=str(ObjectId()), email=user_email, league_id=league.id) insert_invited_user(invited_user, str(league.id)) league.invited_users.append(invited_user) if notify: user_invited_to_league_notification(invited_user, league)
def test_send(self, messenger, email): sent = user_added_to_league_notification(self.user, self.league) self.assertTrue(sent) messenger.assert_called_once_with(self.user, self.league) email.assert_called_once_with(self.user, self.league)
def test_disabled(self): self.user.preferences.user_added_to_league_notifications = False self.user.save() sent = user_added_to_league_notification(self.user, self.league) self.assertFalse(sent)
def test_no_user(self): sent = user_added_to_league_notification(None, self.league) self.assertFalse(sent)
def test_no_league(self): sent = user_added_to_league_notification(self.user, None) self.assertFalse(sent)