def invite(self, sess, comment, investor, invitee_name): if investor.firm == 0: return comment.reply_wrap(message.no_firm_failure_org) if investor.firm_role == "": return comment.reply_wrap(message.not_assoc_org) firm = sess.query(Firm).\ filter(Firm.id == investor.firm).\ first() if not firm.private: return comment.reply_wrap(message.invite_not_private_failure_org) invitee = sess.query(Investor).\ filter(func.lower(Investor.name) == func.lower(invitee_name)).\ first() if invitee == None: return comment.reply_wrap(message.invite_no_user_failure_org) if invitee.firm != 0: return comment.reply_wrap(message.invite_in_firm_failure_org) sess.add(Invite(firm=firm.id, investor=invitee.id)) return comment.reply_wrap(message.modify_invite(invitee, firm))
def test_invite(self): self.command('!create') self.set_balance(5000000) self.command('!createfirm foobar') self.command('!setprivate') self.command('!create', username='******') replies = self.command('!invite testuser2') self.assertEqual(len(replies), 1) self.assertEqual(replies[0], message.modify_invite(MockInvestor('testuser2', ''), MockFirm('foobar')))