Skip to content

Commit 5961ca1

Browse files
committed
Edit account resource to save settlement and update tests
1 parent e2f2993 commit 5961ca1

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

balanced/resources.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ def create_order(self, **kwargs):
507507

508508
@property
509509
def payable_account(self):
510-
return self.accounts.filter(type="payable").first()
510+
return self.accounts.filter(account_type="payable").first()
511511

512512

513513
class Order(Resource):
@@ -611,7 +611,7 @@ def settle(self, funding_instrument, **kwargs):
611611
href=self.settlements.href,
612612
funding_instrument=funding_instrument,
613613
**kwargs
614-
)
614+
).save()
615615

616616

617617
class Settlement(Transaction):

tests/test_suite.py

+24-7
Original file line numberDiff line numberDiff line change
@@ -513,11 +513,13 @@ def test_accounts_transfer(self):
513513
order.debit_from(source=card, amount=1234)
514514
payable_account = merchant.payable_account
515515
self.assertEqual(payable_account.balance, 0)
516-
account_credit = payable_account.credit(amount=1234, order=order.href,
517-
appears_on_statement_as='Payout')
516+
account_credit = payable_account.credit(
517+
amount=1234, order=order.href,
518+
appears_on_statement_as='Payout')
519+
payable_account = merchant.payable_account
518520
self.assertEqual(account_credit.status, 'succeeded')
519521
self.assertEqual(payable_account.balance, 1234)
520-
self.assertEqual(account_credit.account_credit, 'Payout')
522+
self.assertEqual(account_credit.appears_on_statement_as, 'Payout')
521523

522524
def test_accounts_transfer_from_multiple_orders(self):
523525
merchant = balanced.Customer().save()
@@ -530,11 +532,13 @@ def test_accounts_transfer_from_multiple_orders(self):
530532
order_one.debit_from(source=card, amount=amount)
531533
account_credit_one = payable_account.credit(amount=amount,
532534
order=order_one.href)
535+
payable_account = merchant.payable_account
533536
self.assertEqual(payable_account.balance, amount)
534537
order_two = merchant.create_order()
535538
order_two.debit_from(source=card, amount=amount)
536539
account_credit_two = payable_account.credit(amount=amount,
537540
order=order_two.href)
541+
payable_account = merchant.payable_account
538542
self.assertEqual(payable_account.balance, amount*2)
539543

540544
def test_settlement(self):
@@ -544,8 +548,9 @@ def test_settlement(self):
544548

545549
order.debit_from(source=card, amount=1234)
546550
payable_account = merchant.payable_account
547-
account_credit = payable_account.credit(amount=1234, order=order.href,
548-
appears_on_statement_as='Payout')
551+
account_credit = payable_account.credit(
552+
amount=1234, order=order.href, appears_on_statement_as='Payout')
553+
payable_account = merchant.payable_account
549554
self.assertEqual(payable_account.balance, 1234)
550555
bank_account = balanced.BankAccount(
551556
account_number='1234567890',
@@ -559,9 +564,10 @@ def test_settlement(self):
559564
appears_on_statement_as="Settlement Oct",
560565
description="Settlement for payouts from October")
561566
self.assertEqual(settlement.amount, 1234)
562-
self.assertEqual(settlement.appears_on_statement_as, "Settlement Oct")
567+
self.assertEqual(settlement.appears_on_statement_as, "BAL*Settlement Oct")
563568
self.assertEqual(settlement.description,
564569
"Settlement for payouts from October")
570+
payable_account = merchant.payable_account
565571
self.assertEqual(payable_account.balance, 0)
566572

567573
def test_reverse_settlement(self):
@@ -573,6 +579,7 @@ def test_reverse_settlement(self):
573579
payable_account = merchant.payable_account
574580
account_credit = payable_account.credit(amount=1234, order=order.href,
575581
appears_on_statement_as='Payout')
582+
payable_account = merchant.payable_account
576583
self.assertEqual(payable_account.balance, 1234)
577584

578585
bank_account = balanced.BankAccount(
@@ -586,12 +593,19 @@ def test_reverse_settlement(self):
586593
funding_instrument=bank_account.href,
587594
appears_on_statement_as="Settlement Oct",
588595
description="Settlement for payouts from October")
596+
payable_account = merchant.payable_account
589597
self.assertEqual(payable_account.balance, 0)
590598

591-
credit_from_escrow = payable_account.credit(amount=1234)
599+
order_two = merchant.create_order()
600+
order_two.debit_from(source=card, amount=1234)
601+
account_credit_two = payable_account.credit(amount=1234,
602+
order=order_two.href)
603+
604+
payable_account = merchant.payable_account
592605
self.assertEqual(payable_account.balance, 1234)
593606

594607
account_credit.reverse(amount=1234)
608+
payable_account = merchant.payable_account
595609
self.assertEqual(payable_account.balance, 0)
596610

597611
def test_reverse_settlement_with_negative_account_balance(self):
@@ -614,15 +628,18 @@ def test_reverse_settlement_with_negative_account_balance(self):
614628
funding_instrument=bank_account.href,
615629
appears_on_statement_as="Settlement Oct",
616630
description="Settlement for payouts from October")
631+
payable_account = merchant.payable_account
617632
self.assertEqual(payable_account.balance, 0)
618633

619634
account_credit.reverse(amount=1234)
635+
payable_account = merchant.payable_account
620636
self.assertEqual(payable_account.balance, -1234)
621637

622638
settlement = payable_account.settle(
623639
funding_instrument=bank_account.href,
624640
appears_on_statement_as="Settlement Oct",
625641
description="Settlement for payouts from October")
642+
payable_account = merchant.payable_account
626643
self.assertEqual(payable_account.balance, 0)
627644

628645

0 commit comments

Comments
 (0)