def test_update_transaction_splits(self, xdata): self.assert_transaction_exists(xdata) updated = dm.Transaction(xdata, splits=map(self.mod_split, xdata['splits'])) self.query_obj.save(updated) self.assert_transaction_exists(updated) self.assert_num_splits(updated.transaction_id, 2)
def test_update_transaction(self, xdata): self.assert_transaction_exists(xdata) updated = dm.Transaction( date=xdata['date'] + timedelta(1), description='updated description', transaction_id=xdata['transaction_id'], splits=[dm.Split(s) for s in xdata['splits']], ) db_o = self.query_obj.save(updated) assert db_o.transaction_id == updated.transaction_id assert db_o.split_set.count() == 2 self.assert_transaction_exists(updated)
def test_domain_to_orm(self): test_date = date(2015, 7, 21) test_desc = 'Test Transaction Description' obj = domain.Transaction( transaction_id=2, date=test_date, description=test_desc, ) instance = orm.domain_to_orm(obj) assert isinstance(instance, db.Transaction) assert instance.transaction_id == 2 assert instance.date == test_date assert instance.description == test_desc
def domain_obj(self): return dm.Transaction( transaction_id=248, date=date(2015, 7, 16), description='Birthday card', splits=[ dm.Split( split_id=613, number=365, account_id=10, status='c', amount=-25, ), dm.Split( split_id=614, description='Moked', account_id=18, amount=25, ), ], )
def test_create_transaction(self): sa = { 'number': '101', 'account_id': self.salary.account_id, 'status': 'n', 'amount': -8000, 'description': '', } sb = { 'number': '1432', 'account_id': self.citibank.account_id, 'status': 'n', 'amount': 8000, 'description': '', } xact = { 'date': date(2015, 7, 26), 'description': 'Payday', } splits = [dm.Split(sa), dm.Split(sb)] xact_obj = dm.Transaction(xact, splits=splits) self.assert_transaction_not_exists(xact, [sa, sb]) self.query_obj.save(xact_obj) self.assert_transaction_exists(xact, [sa, sb])
def test_sort_transactions(self): a = models.Transaction(date=1) b = models.Transaction(date=2) assert command.sort_transactions([b, a]) == [a, b]