Odoo18-Base/addons/hr_expense/tests/test_account_journal_dashboard.py
2025-03-10 10:52:11 +07:00

29 lines
1.3 KiB
Python

from odoo.tools.misc import format_amount
from odoo.addons.hr_expense.tests.common import TestExpenseCommon
from odoo.tests import tagged
@tagged('post_install', '-at_install')
class TestAccountJournalDashboard(TestExpenseCommon):
def test_expense_journal_numbers_and_sums(self):
journal = self.company_data['default_journal_purchase']
company_currency = self.env.company.currency_id
expense_sheet = self.create_expense_report()
expense_sheet.action_submit_sheet()
expense_sheet.action_approve_expense_sheets()
expense_sheet.action_sheet_move_create()
expense_sheet.flush_recordset()
dashboard_data = journal._get_journal_dashboard_data_batched()[journal.id]
self.assertEqual(dashboard_data['sum_expenses_to_pay'], format_amount(self.env, 1000, company_currency))
payment = self.get_new_payment(expense_sheet, 250.0)
expense_sheet.flush_recordset()
payment.flush_recordset()
dashboard_data = journal._get_journal_dashboard_data_batched()[journal.id]
# todo master: have 750 (residual amount will be used)
# we still want to assert a second time in order to make sure that partially paid expenses are displayed
self.assertEqual(dashboard_data['sum_expenses_to_pay'], format_amount(self.env, 1000, company_currency))