def test_payday_tries_to_settle_debts(self): # First, test a small debt which can be settled e1_id = self.make_exchange('mango-cc', 10, 0, self.janet) debt = create_debt(self.db, self.janet.id, self.homer.id, EUR(5), e1_id) e2_id = self.make_exchange('mango-cc', 20, 0, self.janet) Payday.start().run() balances = dict( self.db.all("SELECT username, balance FROM participants")) assert balances == { 'janet': 25, 'homer': 5, 'david': 0, } debt = self.db.one("SELECT * FROM debts WHERE id = %s", (debt.id, )) assert debt.status == 'paid' # Second, test a big debt that can't be settled self.make_exchange('mango-ba', -15, 0, self.janet) debt2 = create_debt(self.db, self.janet.id, self.homer.id, EUR(20), e2_id) Payday.start().run() balances = dict( self.db.all("SELECT username, balance FROM participants")) assert balances == { 'janet': 10, 'homer': 5, 'david': 0, } debt2 = self.db.one("SELECT * FROM debts WHERE id = %s", (debt2.id, )) assert debt2.status == 'due'
def test_payday_tries_to_settle_debts(self): # First, test a small debt which can be settled e1_id = self.make_exchange('mango-cc', 10, 0, self.janet) debt = create_debt(self.db, self.janet.id, self.homer.id, EUR(5), e1_id) e2_id = self.make_exchange('mango-cc', 20, 0, self.janet) Payday.start().run() balances = dict(self.db.all("SELECT username, balance FROM participants")) assert balances == { 'janet': 25, 'homer': 5, 'david': 0, } debt = self.db.one("SELECT * FROM debts WHERE id = %s", (debt.id,)) assert debt.status == 'paid' # Second, test a big debt that can't be settled self.make_exchange('mango-ba', -15, 0, self.janet) debt2 = create_debt(self.db, self.janet.id, self.homer.id, EUR(20), e2_id) Payday.start().run() balances = dict(self.db.all("SELECT username, balance FROM participants")) assert balances == { 'janet': 10, 'homer': 5, 'david': 0, } debt2 = self.db.one("SELECT * FROM debts WHERE id = %s", (debt2.id,)) assert debt2.status == 'due'