summaryrefslogtreecommitdiff
path: root/addons/sale_purchase
diff options
context:
space:
mode:
authorLaurent Smet <las@odoo.com>2020-07-27 08:31:58 +0000
committerLaurent Smet <las@odoo.com>2020-07-31 08:38:30 +0000
commit6d1e1e09ead203aae5e12af07d01735c64c7bc46 (patch)
treef33fe414e080ec34dc4cfcc36b8551b8dbe2afac /addons/sale_purchase
parentdc1fccf6998db43ae91248d096f57bcf7c8c5bc6 (diff)
[IMP] sale*: Remove dependency to AccountTestCommon
l10n runbot builds are all failing when running at least one test depending of AccountTestCommon because it: - doesn't create a sandboxed testing environnement to manage the multi-currency, multi-company, the default company's currency, the exchange rates... - doesn't setup a testing user then all tests are done using the superuser. - doesn't provide a fully setup chart of accounts: exchange difference journal is not set, accounts have bad types, etc... - is run sometimes at-install. --task: 2301180m
Diffstat (limited to 'addons/sale_purchase')
-rw-r--r--addons/sale_purchase/tests/common.py23
-rw-r--r--addons/sale_purchase/tests/test_access_rights.py10
-rw-r--r--addons/sale_purchase/tests/test_sale_purchase.py68
3 files changed, 38 insertions, 63 deletions
diff --git a/addons/sale_purchase/tests/common.py b/addons/sale_purchase/tests/common.py
index 5d96690b627..652841cc0f3 100644
--- a/addons/sale_purchase/tests/common.py
+++ b/addons/sale_purchase/tests/common.py
@@ -1,35 +1,22 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from odoo.addons.sale.tests.test_sale_common import TestCommonSaleNoChart
+from odoo.addons.sale.tests.common import TestSaleCommon
-class TestCommonSalePurchaseNoChart(TestCommonSaleNoChart):
+class TestCommonSalePurchaseNoChart(TestSaleCommon):
@classmethod
- def setUpUsers(cls):
- super(TestCommonSalePurchaseNoChart, cls).setUpUsers()
+ def setUpClass(cls, chart_template_ref=None):
+ super().setUpClass(chart_template_ref=chart_template_ref)
- group_salemanager = cls.env.ref('sales_team.group_sale_manager')
- group_salesman = cls.env.ref('sales_team.group_sale_salesman')
- cls.user_manager.write({'groups_id': [(6, 0, [group_salemanager.id])]})
- cls.user_employee.write({'groups_id': [(6, 0, [group_salesman.id])]})
-
- @classmethod
- def setUpServicePurchaseProducts(cls):
uom_unit = cls.env.ref('uom.product_uom_unit')
uom_dozen = cls.env.ref('uom.product_uom_dozen')
- user_type_income = cls.env.ref('account.data_account_type_direct_costs')
- cls.account_income_product_purchase = cls.env['account.account'].create({
- 'code': 'INCOME_PROD_PURCHASE',
- 'name': 'Icome - Test Account',
- 'user_type_id': user_type_income.id,
- })
# Create category
cls.product_category_purchase = cls.env['product.category'].create({
'name': 'Product Category with Income account',
- 'property_account_income_categ_id': cls.account_income_product_purchase.id
+ 'property_account_income_categ_id': cls.company_data['default_account_expense'].id
})
cls.partner_vendor_service = cls.env['res.partner'].create({
diff --git a/addons/sale_purchase/tests/test_access_rights.py b/addons/sale_purchase/tests/test_access_rights.py
index 3fcb7c95a28..5240bc0ed19 100644
--- a/addons/sale_purchase/tests/test_access_rights.py
+++ b/addons/sale_purchase/tests/test_access_rights.py
@@ -3,15 +3,15 @@
from odoo.exceptions import AccessError
from odoo.addons.sale_purchase.tests.common import TestCommonSalePurchaseNoChart
+from odoo.tests import tagged
+@tagged('-at_install', 'post_install')
class TestAccessRights(TestCommonSalePurchaseNoChart):
@classmethod
- def setUpClass(cls):
- super(TestAccessRights, cls).setUpClass()
-
- cls.setUpServicePurchaseProducts()
+ def setUpClass(cls, chart_template_ref=None):
+ super().setUpClass(chart_template_ref=chart_template_ref)
# Create a users
group_sale_user = cls.env.ref('sales_team.group_sale_salesman')
@@ -34,7 +34,7 @@ class TestAccessRights(TestCommonSalePurchaseNoChart):
SaleOrder = self.env['sale.order'].with_context(tracking_disable=True)
sale_order = SaleOrder.with_user(self.user_salesperson).create({
- 'partner_id': self.partner_customer_usd.id,
+ 'partner_id': self.partner_a.id,
'user_id': self.user_salesperson.id
})
diff --git a/addons/sale_purchase/tests/test_sale_purchase.py b/addons/sale_purchase/tests/test_sale_purchase.py
index 99a37a3ad95..4f85ea2542b 100644
--- a/addons/sale_purchase/tests/test_sale_purchase.py
+++ b/addons/sale_purchase/tests/test_sale_purchase.py
@@ -2,52 +2,40 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.exceptions import UserError, AccessError
-
+from odoo.tests import tagged
from odoo.addons.sale_purchase.tests.common import TestCommonSalePurchaseNoChart
+@tagged('-at_install', 'post_install')
class TestSalePurchase(TestCommonSalePurchaseNoChart):
@classmethod
- def setUpClass(cls):
- super(TestSalePurchase, cls).setUpClass()
-
- # set up users
- cls.setUpUsers()
- group_salemanager = cls.env.ref('sales_team.group_sale_manager')
- group_salesman = cls.env.ref('sales_team.group_sale_salesman')
- cls.user_manager.write({'groups_id': [(6, 0, [group_salemanager.id])]})
- cls.user_employee.write({'groups_id': [(6, 0, [group_salesman.id])]})
-
- # set up accounts and products and journals
- cls.setUpAdditionalAccounts()
- cls.setUpAccountJournal()
- cls.setUpClassicProducts()
- cls.setUpServicePurchaseProducts()
+ def setUpClass(cls, chart_template_ref=None):
+ super().setUpClass(chart_template_ref=chart_template_ref)
# create a generic Sale Order with 2 classical products and a purchase service
SaleOrder = cls.env['sale.order'].with_context(tracking_disable=True)
cls.sale_order_1 = SaleOrder.create({
- 'partner_id': cls.partner_customer_usd.id,
- 'partner_invoice_id': cls.partner_customer_usd.id,
- 'partner_shipping_id': cls.partner_customer_usd.id,
- 'pricelist_id': cls.pricelist_usd.id,
+ 'partner_id': cls.partner_a.id,
+ 'partner_invoice_id': cls.partner_a.id,
+ 'partner_shipping_id': cls.partner_a.id,
+ 'pricelist_id': cls.company_data['default_pricelist'].id,
})
cls.sol1_service_deliver = cls.env['sale.order.line'].create({
- 'name': cls.service_deliver.name,
- 'product_id': cls.service_deliver.id,
+ 'name': cls.company_data['product_service_delivery'].name,
+ 'product_id': cls.company_data['product_service_delivery'].id,
'product_uom_qty': 1,
- 'product_uom': cls.service_deliver.uom_id.id,
- 'price_unit': cls.service_deliver.list_price,
+ 'product_uom': cls.company_data['product_service_delivery'].uom_id.id,
+ 'price_unit': cls.company_data['product_service_delivery'].list_price,
'order_id': cls.sale_order_1.id,
'tax_id': False,
})
cls.sol1_product_order = cls.env['sale.order.line'].create({
- 'name': cls.product_order.name,
- 'product_id': cls.product_order.id,
+ 'name': cls.company_data['product_order_no'].name,
+ 'product_id': cls.company_data['product_order_no'].id,
'product_uom_qty': 2,
- 'product_uom': cls.product_order.uom_id.id,
- 'price_unit': cls.product_order.list_price,
+ 'product_uom': cls.company_data['product_order_no'].uom_id.id,
+ 'price_unit': cls.company_data['product_order_no'].list_price,
'order_id': cls.sale_order_1.id,
'tax_id': False,
})
@@ -62,26 +50,26 @@ class TestSalePurchase(TestCommonSalePurchaseNoChart):
})
cls.sale_order_2 = SaleOrder.create({
- 'partner_id': cls.partner_customer_usd.id,
- 'partner_invoice_id': cls.partner_customer_usd.id,
- 'partner_shipping_id': cls.partner_customer_usd.id,
- 'pricelist_id': cls.pricelist_usd.id,
+ 'partner_id': cls.partner_a.id,
+ 'partner_invoice_id': cls.partner_a.id,
+ 'partner_shipping_id': cls.partner_a.id,
+ 'pricelist_id': cls.company_data['default_pricelist'].id,
})
cls.sol2_product_deliver = cls.env['sale.order.line'].create({
- 'name': cls.product_deliver.name,
- 'product_id': cls.product_deliver.id,
+ 'name': cls.company_data['product_delivery_no'].name,
+ 'product_id': cls.company_data['product_delivery_no'].id,
'product_uom_qty': 5,
- 'product_uom': cls.product_deliver.uom_id.id,
- 'price_unit': cls.product_deliver.list_price,
+ 'product_uom': cls.company_data['product_delivery_no'].uom_id.id,
+ 'price_unit': cls.company_data['product_delivery_no'].list_price,
'order_id': cls.sale_order_2.id,
'tax_id': False,
})
cls.sol2_service_order = cls.env['sale.order.line'].create({
- 'name': cls.service_order.name,
- 'product_id': cls.service_order.id,
+ 'name': cls.company_data['product_service_order'].name,
+ 'product_id': cls.company_data['product_service_order'].id,
'product_uom_qty': 6,
- 'product_uom': cls.service_order.uom_id.id,
- 'price_unit': cls.service_order.list_price,
+ 'product_uom': cls.company_data['product_service_order'].uom_id.id,
+ 'price_unit': cls.company_data['product_service_order'].list_price,
'order_id': cls.sale_order_2.id,
'tax_id': False,
})