Initial Port of customer statements
This commit is contained in:
committed by
Miquel Raïch
parent
1ffec3d4ee
commit
ad482b33d0
111
partner_statement/tests/test_activity_statement.py
Normal file
111
partner_statement/tests/test_activity_statement.py
Normal file
@@ -0,0 +1,111 @@
|
||||
# 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 datetime import date
|
||||
from odoo.tests.common import TransactionCase
|
||||
from odoo import fields
|
||||
|
||||
|
||||
class TestActivityStatement(TransactionCase):
|
||||
"""
|
||||
Tests for Activity 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_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.partner_statement.activity_statement']
|
||||
self.wiz = self.env['activity.statement.wizard']
|
||||
self.report_name = 'partner_statement.activity_statement'
|
||||
self.report_title = 'Activity Statement'
|
||||
self.today = fields.Date.context_today(self.wiz)
|
||||
|
||||
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_activity_statement(self):
|
||||
|
||||
wiz_id = self.wiz.with_context(
|
||||
active_ids=[self.partner1.id, self.partner2.id],
|
||||
).create({})
|
||||
|
||||
wiz_id.aging_type = 'months'
|
||||
wiz_id.show_aging_buckets = False
|
||||
|
||||
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_activity_report_no_wizard(self):
|
||||
docids = [self.partner1.id, self.partner2.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.")
|
||||
|
||||
def test_date_formatting(self):
|
||||
date_fmt = '%d/%m/%Y'
|
||||
test_date = date(2018, 9, 30)
|
||||
res = self.statement_model._format_date_to_partner_lang(
|
||||
test_date, date_fmt
|
||||
)
|
||||
self.assertEqual(res, '30/09/2018')
|
||||
|
||||
test_date_string = '2018-09-30'
|
||||
res = self.statement_model._format_date_to_partner_lang(
|
||||
test_date_string, date_fmt
|
||||
)
|
||||
self.assertEqual(res, '30/09/2018')
|
||||
|
||||
def test_onchange_aging_type(self):
|
||||
"""Test that partner data is filled accodingly"""
|
||||
wiz_id = self.wiz.with_context(
|
||||
active_ids=[self.partner1.id, self.partner2.id],
|
||||
).new()
|
||||
wiz_id.aging_type = 'months'
|
||||
wiz_id.onchange_aging_type()
|
||||
self.assertEqual(wiz_id.date_end.month, wiz_id.date_start.month)
|
||||
self.assertTrue(wiz_id.date_end.day > wiz_id.date_start.day)
|
||||
self.assertTrue(wiz_id.date_end < self.today)
|
||||
|
||||
wiz_id.aging_type = 'days'
|
||||
wiz_id.onchange_aging_type()
|
||||
self.assertEqual((wiz_id.date_end - wiz_id.date_start).days, 30)
|
||||
self.assertTrue(wiz_id.date_end == self.today)
|
||||
Reference in New Issue
Block a user