You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

77 lines
2.9 KiB

# Copyright 2018 Eficent Business and IT Consulting Services S.L.
# (http://www.eficent.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo.tests.common import TransactionCase
class TestOutstandingStatement(TransactionCase):
"""
Tests for Outstanding Statement.
"""
def setUp(self):
super().setUp()
self.res_users_model = self.env['res.users']
self.company = self.env.ref('base.main_company')
self.partner1 = self.env.ref('base.res_partner_2')
self.partner2 = self.env.ref('base.res_partner_3')
self.g_account_user = self.env.ref('account.group_account_user')
self.user = self._create_user('user_1', [self.g_account_user],
self.company).id
self.statement_model = \
self.env['report.partner_statement.outstanding_statement']
self.wiz = self.env['outstanding.statement.wizard']
self.report_name = 'partner_statement.outstanding_statement'
self.report_title = 'Outstanding Statement'
def _create_user(self, login, groups, company):
group_ids = [group.id for group in groups]
user = self.res_users_model.create({
'name': login,
'login': login,
'password': 'demo',
'email': 'example@yourcompany.com',
'company_id': company.id,
'company_ids': [(4, company.id)],
'groups_id': [(6, 0, group_ids)]
})
return user
def test_customer_outstanding_statement(self):
wiz_id = self.wiz.with_context(
active_ids=[self.partner1.id, self.partner2.id],
).create({})
wiz_id.aging_type = 'months'
statement = wiz_id.button_export_pdf()
self.assertDictContainsSubset(
{
'type': 'ir.actions.report',
'report_name': self.report_name,
'report_type': 'qweb-pdf',
},
statement,
'There was an error and the PDF report was not generated.'
)
data = wiz_id._prepare_statement()
docids = data['partner_ids']
report = self.statement_model._get_report_values(docids, data)
self.assertIsInstance(report,
dict,
"There was an error while compiling the report.")
self.assertIn("bucket_labels", report,
"There was an error while compiling the report.")
def test_customer_outstanding_report_no_wizard(self):
docids = [self.partner1.id]
report = self.statement_model._get_report_values(docids, False)
self.assertIsInstance(report, dict,
"There was an error while compiling the report.")
self.assertIn("bucket_labels", report,
"There was an error while compiling the report.")