def test_pad_name(self): test_ui = UI() test_ui.acc_padding = 8 result = test_ui._pad_name('TEST') expected_result = 'TEST: ' self.assertEqual(result, expected_result)
def test_obtain_account_payments(self, mock_input): test_ui = UI() test_ui.remaining_disposable = Decimal('1000') test_ui.rem_padding = 4 test_ui.acc_padding = 13 mock_acc_1 = Mock() mock_acc_2 = Mock() mock_acc_1.name = 'Credit Card' mock_acc_2.name = 'Car Loan' test_accounts = [mock_acc_1, mock_acc_2] mock_input.side_effect = [Decimal('100'), Decimal('250')] result = test_ui._obtain_account_payments(test_accounts) mock_input.assert_any_call('\t[£1000 Remaining] Credit Card: £') mock_input.assert_any_call('\t[£900 Remaining] Car Loan: £') self.assertEqual(test_ui.remaining_disposable, Decimal('650')) expected_payments = [{ 'name': 'Credit Card', 'payment': Decimal('100') }, { 'name': 'Car Loan', 'payment': Decimal('250') }]
def test_summarise_strategy(self): test_ui = UI() test_ui.recently_cleared = ['Credit Card'] test_ui.acc_padding = 13 mock_strategy = { 'debts': [{ 'name': 'Credit Card', 'payment': Decimal('250') }, { 'name': 'Car Loan', 'payment': Decimal('100') }], 'savings': [], 'remaining': Decimal('150') } result = test_ui._summarise_strategy(mock_strategy) expected_summary = ('\tC̶r̶e̶d̶i̶t̶ ̶C̶a̶r̶d̶:̶ ̶ ̶£̶2̶5̶0̶\n' + '\tCar Loan: £100\n' + '\t------------------\n' + '\tRemaining: £150\n') self.assertEqual(result, expected_summary)