def test_already_in_firm(self): self.command('!create') self.set_balance(5000000) self.command('!createfirm foobar') replies = self.command('!createfirm foobar2') self.assertEqual(len(replies), 1) self.assertEqual(replies[0], message.modify_createfirm_exists_failure('foobar'))
def createfirm(self, sess, comment, investor, firm_name): if investor.firm != 0: existing_firm = sess.query(Firm).\ filter(Firm.id == investor.firm).\ first() return comment.reply_wrap( message.modify_createfirm_exists_failure(existing_firm.name)) if investor.balance < 100000: return comment.reply_wrap(message.createfirm_cost_failure_org) firm_name = firm_name.strip() if (len(firm_name) < 4) or (len(firm_name) > 32): return comment.reply_wrap(message.createfirm_format_failure_org) if self.firm_name_regex.search(firm_name): return comment.reply_wrap(message.createfirm_format_failure_org) existing_firm = sess.query(Firm).\ filter(Firm.name == firm_name).\ first() if existing_firm: return comment.reply_wrap(message.createfirm_nametaken_failure_org) sess.add(Firm(name=firm_name)) firm = sess.query(Firm).\ filter(Firm.name == firm_name).\ first() investor.balance -= 100000 investor.firm = firm.id investor.firm_role = "ceo" firm.ceo = investor.name firm.size += 1 # Setting up the flair in subreddits # Hardcoded CEO string because createfirm makes a user CEO if not config.TEST: for subreddit in config.SUBREDDITS: REDDIT.subreddit(subreddit).flair.set(investor.name, f"{firm_name} | CEO") return comment.reply_wrap(message.createfirm_org)