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.
68 lines
2.5 KiB
68 lines
2.5 KiB
# -*- coding: utf-8 -*-
|
|
# Copyright 2017 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 TestCustomerOutstandingStatement(TransactionCase):
|
|
"""
|
|
Tests for Customer Outstanding Statement.
|
|
"""
|
|
def setUp(self):
|
|
super(TestCustomerOutstandingStatement, self).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_1')
|
|
self.partner2 = self.env.ref('base.res_partner_2')
|
|
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.customer_outstanding_statement.statement']
|
|
self.wiz = self.env['customer.outstanding.statement.wizard']
|
|
self.report_name = 'customer_outstanding_statement.statement'
|
|
self.report_title = 'Customer 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({})
|
|
|
|
statement = wiz_id.button_export_pdf()
|
|
|
|
self.assertDictContainsSubset(
|
|
{
|
|
'type': 'ir.actions.report.xml',
|
|
'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_outstanding_statement()
|
|
docids = data['partner_ids']
|
|
report = self.statement_model.render_html(docids, data)
|
|
self.assertIsInstance(report, str,
|
|
"There was an error while compiling the report.")
|
|
self.assertIn("<!DOCTYPE html>", report,
|
|
"There was an error while compiling the report.")
|