diff options
| author | Odoo's Mergebot <xmo+roboto@odoo.com> | 2019-11-07 08:37:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-07 08:37:12 +0100 |
| commit | cfc65bd1b72b6fb7833f67fa580fa9fdac28b1f5 (patch) | |
| tree | c1aa353aa7e29d0ed918911dbdce456ed957b72e /addons/purchase | |
| parent | a3f5afdd53f5f0d8d76427fe14dce6f02e064a75 (diff) | |
| parent | bc8fe668495a1d080ff883d5e61e961a128669de (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.py | 2 | ||||
| -rw-r--r-- | addons/purchase/tests/test_purchase_order_report.py | 25 |
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') |
