[IMP] partner_statement: test performance improvement

This commit is contained in:
josep-tecnativa
2023-10-11 16:04:33 +02:00
committed by Miquel Raïch
parent a01dd7cfe8
commit 5b7e7d4842
7 changed files with 78 additions and 77 deletions

View File

@@ -7,7 +7,7 @@ Partner Statement
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:ace03cb14af0a659f14338b2c1875faa47b062a395f2d7eabf1f145e04d66c7a !! source digest: sha256:8cf120e9937aebc251e3576682aab2450761d8bec81e8da495719a58fe19203e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png

View File

@@ -3,7 +3,7 @@
{ {
"name": "Partner Statement", "name": "Partner Statement",
"version": "15.0.1.1.0", "version": "15.0.1.1.1",
"category": "Accounting & Finance", "category": "Accounting & Finance",
"summary": "OCA Financial Reports", "summary": "OCA Financial Reports",
"author": "ForgeFlow, Odoo Community Association (OCA)", "author": "ForgeFlow, Odoo Community Association (OCA)",

View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-12-22 23:13+0000\n" "POT-Creation-Date: 2017-12-22 23:13+0000\n"
"PO-Revision-Date: 2023-10-09 09:09+0000\n" "PO-Revision-Date: 2023-12-24 18:41+0000\n"
"Last-Translator: Francesco Foresti <francesco.foresti@ooops404.com>\n" "Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n" "Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -327,13 +327,13 @@ msgstr "Data"
#: model:ir.model.fields,field_description:partner_statement.field_outstanding_statement_wizard__date_end #: model:ir.model.fields,field_description:partner_statement.field_outstanding_statement_wizard__date_end
#: model:ir.model.fields,field_description:partner_statement.field_statement_common_wizard__date_end #: model:ir.model.fields,field_description:partner_statement.field_statement_common_wizard__date_end
msgid "Date End" msgid "Date End"
msgstr "Data Fine" msgstr "Data fine"
#. module: partner_statement #. module: partner_statement
#: model:ir.model.fields,field_description:partner_statement.field_activity_statement_wizard__date_start #: model:ir.model.fields,field_description:partner_statement.field_activity_statement_wizard__date_start
#: model:ir.model.fields,field_description:partner_statement.field_detailed_activity_statement_wizard__date_start #: model:ir.model.fields,field_description:partner_statement.field_detailed_activity_statement_wizard__date_start
msgid "Date Start" msgid "Date Start"
msgstr "Data Inizio" msgstr "Data inizio"
#. module: partner_statement #. module: partner_statement
#: code:addons/partner_statement/report/activity_statement_xlsx.py:0 #: code:addons/partner_statement/report/activity_statement_xlsx.py:0
@@ -564,7 +564,7 @@ msgstr ""
#. module: partner_statement #. module: partner_statement
#: model_terms:ir.ui.view,arch_db:partner_statement.res_config_settings_view_form #: model_terms:ir.ui.view,arch_db:partner_statement.res_config_settings_view_form
msgid "Outstanding Statements show all transactions up to a date." msgid "Outstanding Statements show all transactions up to a date."
msgstr "Mostra tutte le partite aperte aggiornate alla data." msgstr "Mostra tutte le partite aperte aggiornate alla data."
#. module: partner_statement #. module: partner_statement
#: model:ir.actions.act_window,name:partner_statement.activity_statement_wizard_action #: model:ir.actions.act_window,name:partner_statement.activity_statement_wizard_action

View File

@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:ace03cb14af0a659f14338b2c1875faa47b062a395f2d7eabf1f145e04d66c7a !! source digest: sha256:8cf120e9937aebc251e3576682aab2450761d8bec81e8da495719a58fe19203e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-financial-reporting/tree/15.0/partner_statement"><img alt="OCA/account-financial-reporting" src="https://img.shields.io/badge/github-OCA%2Faccount--financial--reporting-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-financial-reporting-15-0/account-financial-reporting-15-0-partner_statement"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-financial-reporting&amp;target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p> <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-financial-reporting/tree/15.0/partner_statement"><img alt="OCA/account-financial-reporting" src="https://img.shields.io/badge/github-OCA%2Faccount--financial--reporting-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-financial-reporting-15-0/account-financial-reporting-15-0-partner_statement"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-financial-reporting&amp;target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module extends the functionality of Invoicing to support the printing of customer and vendor statements. <p>This module extends the functionality of Invoicing to support the printing of customer and vendor statements.

View File

@@ -4,46 +4,42 @@
from datetime import date from datetime import date
from odoo import fields from odoo import fields
from odoo.tests import new_test_user
from odoo.tests.common import TransactionCase from odoo.tests.common import TransactionCase
class TestActivityStatement(TransactionCase): class TestActivityStatement(TransactionCase):
"""Tests for Activity Statement.""" """Tests for Activity Statement."""
def setUp(self): @classmethod
super().setUp() def setUpClass(cls):
super().setUpClass()
self.res_users_model = self.env["res.users"] cls.env = cls.env(
self.company = self.env.ref("base.main_company") context=dict(
self.company.external_report_layout_id = self.env.ref( cls.env.context,
mail_create_nolog=True,
mail_create_nosubscribe=True,
mail_notrack=True,
no_reset_password=True,
tracking_disable=True,
)
)
cls.res_users_model = cls.env["res.users"]
cls.company = cls.env.ref("base.main_company")
cls.company.external_report_layout_id = cls.env.ref(
"web.external_layout_standard" "web.external_layout_standard"
) )
self.partner1 = self.env.ref("base.res_partner_1") cls.partner1 = cls.env.ref("base.res_partner_1")
self.partner2 = self.env.ref("base.res_partner_2") cls.partner2 = cls.env.ref("base.res_partner_2")
self.g_account_user = self.env.ref("account.group_account_user") cls.user = new_test_user(
cls.env, login="user_1", groups="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_name_xlsx = "p_s.report_activity_statement_xlsx"
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,
"email": "example@yourcompany.com",
"company_id": company.id,
"company_ids": [(4, company.id)],
"groups_id": [(6, 0, group_ids)],
}
) )
return user cls.statement_model = cls.env["report.partner_statement.activity_statement"]
cls.wiz = cls.env["activity.statement.wizard"]
cls.report_name = "partner_statement.activity_statement"
cls.report_name_xlsx = "p_s.report_activity_statement_xlsx"
cls.report_title = "Activity Statement"
cls.today = fields.Date.context_today(cls.wiz)
def test_customer_activity_statement(self): def test_customer_activity_statement(self):

View File

@@ -1,47 +1,41 @@
# Copyright 2018 ForgeFlow, S.L. (https://www.forgeflow.com) # Copyright 2018 ForgeFlow, S.L. (https://www.forgeflow.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo.tests import new_test_user
from odoo.tests.common import TransactionCase from odoo.tests.common import TransactionCase
class TestOutstandingStatement(TransactionCase): class TestOutstandingStatement(TransactionCase):
"""Tests for Outstanding Statement.""" """Tests for Outstanding Statement."""
def setUp(self): @classmethod
super().setUp() def setUpClass(cls):
super().setUpClass()
self.res_users_model = self.env["res.users"] cls.env = cls.env(
self.company = self.env.ref("base.main_company") context=dict(
self.company.external_report_layout_id = self.env.ref( cls.env.context,
mail_create_nolog=True,
mail_create_nosubscribe=True,
mail_notrack=True,
no_reset_password=True,
tracking_disable=True,
)
)
cls.res_users_model = cls.env["res.users"]
cls.company = cls.env.ref("base.main_company")
cls.company.external_report_layout_id = cls.env.ref(
"web.external_layout_standard" "web.external_layout_standard"
) )
self.partner1 = self.env.ref("base.res_partner_2") cls.partner1 = cls.env.ref("base.res_partner_2")
self.partner2 = self.env.ref("base.res_partner_3") cls.partner2 = cls.env.ref("base.res_partner_3")
self.g_account_user = self.env.ref("account.group_account_user") cls.user = new_test_user(
cls.env, login="user_1", groups="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_name_xlsx = "p_s.report_outstanding_statement_xlsx"
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,
"email": "example@yourcompany.com",
"company_id": company.id,
"company_ids": [(4, company.id)],
"groups_id": [(6, 0, group_ids)],
}
) )
return user cls.statement_model = cls.env["report.partner_statement.outstanding_statement"]
cls.wiz = cls.env["outstanding.statement.wizard"]
cls.report_name = "partner_statement.outstanding_statement"
cls.report_name_xlsx = "p_s.report_outstanding_statement_xlsx"
cls.report_title = "Outstanding Statement"
def test_customer_outstanding_statement(self): def test_customer_outstanding_statement(self):

View File

@@ -4,17 +4,28 @@ from odoo.tests.common import TransactionCase
class TestResConfigSettings(TransactionCase): class TestResConfigSettings(TransactionCase):
def setUp(self): @classmethod
super().setUp() def setUpClass(cls):
self.config = self.env["res.config.settings"] super().setUpClass()
self.cr.execute( cls.env = cls.env(
context=dict(
cls.env.context,
mail_create_nolog=True,
mail_create_nosubscribe=True,
mail_notrack=True,
no_reset_password=True,
tracking_disable=True,
)
)
cls.config = cls.env["res.config.settings"]
cls.cr.execute(
"SELECT uid FROM res_groups_users_rel " "SELECT uid FROM res_groups_users_rel "
"WHERE gid IN (SELECT res_id FROM ir_model_data " "WHERE gid IN (SELECT res_id FROM ir_model_data "
" WHERE module='account' AND name='group_account_invoice') " " WHERE module='account' AND name='group_account_invoice') "
"ORDER BY uid DESC LIMIT 1" "ORDER BY uid DESC LIMIT 1"
) )
self.account_user = self.cr.fetchone()[0] cls.account_user = cls.cr.fetchone()[0]
self.user_obj = self.env["res.users"].with_user(self.account_user) cls.user_obj = cls.env["res.users"].with_user(cls.account_user)
def test_groups(self): def test_groups(self):
conf = self.config.create( conf = self.config.create(