summaryrefslogtreecommitdiff
path: root/addons/purchase
diff options
context:
space:
mode:
authorOdoo's Mergebot <xmo+roboto@odoo.com>2019-11-07 08:37:12 +0100
committerGitHub <noreply@github.com>2019-11-07 08:37:12 +0100
commitcfc65bd1b72b6fb7833f67fa580fa9fdac28b1f5 (patch)
treec1aa353aa7e29d0ed918911dbdce456ed957b72e /addons/purchase
parenta3f5afdd53f5f0d8d76427fe14dce6f02e064a75 (diff)
parentbc8fe668495a1d080ff883d5e61e961a128669de (diff)
[MERGE] various: Make the test suite demo data independant
Purpose ======= This is the first huge step to improve the test suite in several ways: - Make them demo data independent, allowing to modify the demo data without having to adapt the tests depending on it. It also allows to have a beautiful + convenient demo dataset to make a demonstration, and to configure complex data in the tests to manage the corner cases. - Improve the test performances by converting them into SavepointCase. Each test will be rollbacked to it's initial state, after the setUpClass call. That way the different data are not re-created at each test for nothing. - Introduce several test classes in base/tests/common.py to launch a TransactionCase, HttpCase or SavepointCase test with an available demo user, portal user or a large set of partners. - This is the first step to tend to a rolling release process, allowing to execute the tests (or a subset of the tests) on a migrated base, for example. closes odoo/odoo#39868 Taskid: 2075739 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/purchase')
-rw-r--r--addons/purchase/controllers/portal.py2
-rw-r--r--addons/purchase/tests/test_purchase_order_report.py25
2 files changed, 12 insertions, 15 deletions
diff --git a/addons/purchase/controllers/portal.py b/addons/purchase/controllers/portal.py
index 171373bbec5..73e2b2bbb3a 100644
--- a/addons/purchase/controllers/portal.py
+++ b/addons/purchase/controllers/portal.py
@@ -18,7 +18,7 @@ class CustomerPortal(CustomerPortal):
def _prepare_portal_layout_values(self):
values = super(CustomerPortal, self)._prepare_portal_layout_values()
- values['purchase_count'] = request.env['purchase.order'].search_count([
+ values['purchase_count'] = request.env['purchase.order'].sudo().search_count([
('state', 'in', ['purchase', 'done', 'cancel'])
])
return values
diff --git a/addons/purchase/tests/test_purchase_order_report.py b/addons/purchase/tests/test_purchase_order_report.py
index fe6e0b79ed4..8d157f3ace1 100644
--- a/addons/purchase/tests/test_purchase_order_report.py
+++ b/addons/purchase/tests/test_purchase_order_report.py
@@ -2,23 +2,20 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import datetime
-from odoo.tests import common, Form, tagged
-
+from odoo.tests import Form, tagged
+from odoo.addons.account.tests.account_minimal_test import AccountMinimalTest
@tagged('post_install', '-at_install')
-class TestPurchaseOrderReport(common.TransactionCase):
- def setUp(self):
- super(TestPurchaseOrderReport, self).setUp()
-
- self.partner_id = self.env.ref('base.res_partner_1')
- self.product1 = self.env.ref('product.product_product_8')
- self.product2 = self.env.ref('product.product_product_11')
- self.PurchaseReport = self.env['purchase.report']
+class TestPurchaseOrderReport(AccountMinimalTest):
- # Create a new company and set CoA
- self.company_id = self.env['res.company'].create({'name': 'new_company'})
- self.env.user.company_id = self.company_id
- self.env.ref('l10n_generic_coa.configurable_chart_template').try_loading()
+ @classmethod
+ def setUpClass(cls):
+ super(TestPurchaseOrderReport, cls).setUpClass()
+ cls.partner_id = cls.env['res.partner'].create({'name': 'A Partner'})
+ cls.product1 = cls.env['product.product'].create({'name': 'A First Product'})
+ cls.product2 = cls.env['product.product'].create({'name': 'A Second Product'})
+ cls.PurchaseReport = cls.env['purchase.report']
+ cls.company_id = cls.env.ref('base.main_company')
def test_00_purchase_order_report(self):
uom_dozen = self.env.ref('uom.product_uom_dozen')