summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/stock_dropshipping/tests/test_crossdock.py2
-rw-r--r--addons/stock_dropshipping/tests/test_dropship.py4
-rw-r--r--addons/stock_dropshipping/tests/test_lifo_price.py19
-rw-r--r--addons/stock_dropshipping/tests/test_procurement_exception.py15
-rw-r--r--addons/stock_dropshipping/tests/test_stockvaluation.py77
5 files changed, 80 insertions, 37 deletions
diff --git a/addons/stock_dropshipping/tests/test_crossdock.py b/addons/stock_dropshipping/tests/test_crossdock.py
index dad75786bca..671d3098c6a 100644
--- a/addons/stock_dropshipping/tests/test_crossdock.py
+++ b/addons/stock_dropshipping/tests/test_crossdock.py
@@ -40,7 +40,7 @@ class TestCrossdock(common.TransactionCase):
# Create a sales order with a line of 100 PCE incoming shipment with route_id crossdock shipping
so_form = Form(self.env['sale.order'])
- so_form.partner_id = self.env.ref('base.res_partner_4')
+ so_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'})
so_form.warehouse_id = wh_pps
with mute_logger('odoo.tests.common.onchange'):
diff --git a/addons/stock_dropshipping/tests/test_dropship.py b/addons/stock_dropshipping/tests/test_dropship.py
index 93c56163af2..a3c49b1c07f 100644
--- a/addons/stock_dropshipping/tests/test_dropship.py
+++ b/addons/stock_dropshipping/tests/test_dropship.py
@@ -8,7 +8,7 @@ from odoo.tools import mute_logger
class TestDropship(common.TransactionCase):
def test_change_qty(self):
# enable the dropship and MTO route on the product
- prod = self.env.ref('product.product_product_8')
+ prod = self.env['product.product'].create({'name': 'Large Desk'})
dropshipping_route = self.env.ref('stock_dropshipping.route_drop_shipping')
mto_route = self.env.ref('stock.route_warehouse0_mto')
prod.write({'route_ids': [(6, 0, [dropshipping_route.id, mto_route.id])]})
@@ -87,7 +87,7 @@ class TestDropship(common.TransactionCase):
# Create a sales order with a line of 200 PCE incoming shipment, with route_id drop shipping
so_form = Form(self.env['sale.order'])
- so_form.partner_id = self.env.ref('base.res_partner_2')
+ so_form.partner_id = self.env['res.partner'].create({'name': 'My Test Partner'})
so_form.payment_term_id = self.env.ref('account.account_payment_term_end_following_month')
with mute_logger('odoo.tests.common.onchange'):
# otherwise complains that there's not enough inventory and
diff --git a/addons/stock_dropshipping/tests/test_lifo_price.py b/addons/stock_dropshipping/tests/test_lifo_price.py
index 8459cc4ea1b..5edf4059bb8 100644
--- a/addons/stock_dropshipping/tests/test_lifo_price.py
+++ b/addons/stock_dropshipping/tests/test_lifo_price.py
@@ -2,21 +2,15 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, tools
+from odoo.addons.stock_account.tests.stock_account_minimal_test import StockAccountMinimalTest
from odoo.modules.module import get_module_resource
from odoo.tests import common, Form
-class TestLifoPrice(common.TransactionCase):
-
- def _load(self, module, *args):
- tools.convert_file(
- self.cr, 'stock_dropshipping', get_module_resource(module, *args), {}, 'init', False, 'test', self.registry._assertion_report)
+class TestLifoPrice(StockAccountMinimalTest):
def test_lifoprice(self):
- self._load('account', 'test', 'account_minimal_test.xml')
- self._load('stock_account', 'test', 'stock_valuation_account.xml')
-
# Set product category removal strategy as LIFO
product_category_001 = self.env['product.category'].create({
'name': 'Lifo Category',
@@ -24,6 +18,7 @@ class TestLifoPrice(common.TransactionCase):
'property_valuation': 'real_time',
'property_cost_method': 'fifo',
})
+ res_partner_3 = self.env['res.partner'].create({'name': 'My Test Partner'})
# Set a product as using lifo price
product_form = Form(self.env['product.product'])
@@ -39,8 +34,8 @@ class TestLifoPrice(common.TransactionCase):
# category (or hand-assign the property_* version which seems...)
# product_form.categ_id.valuation = 'real_time'
# product_form.categ_id.property_cost_method = 'fifo'
- product_form.categ_id.property_stock_account_input_categ_id = self.env.ref('stock_dropshipping.o_expense')
- product_form.categ_id.property_stock_account_output_categ_id = self.env.ref('stock_dropshipping.o_income')
+ product_form.categ_id.property_stock_account_input_categ_id = self.o_expense
+ product_form.categ_id.property_stock_account_output_categ_id = self.o_income
product_lifo_icecream = product_form.save()
std_price_wiz = Form(self.env['stock.change.standard.price'].with_context(active_id=product_lifo_icecream.id, active_model='product.product'))
@@ -49,7 +44,7 @@ class TestLifoPrice(common.TransactionCase):
# I create a draft Purchase Order for first in move for 10 pieces at 60 euro
order_form = Form(self.env['purchase.order'])
- order_form.partner_id = self.env.ref('base.res_partner_3')
+ order_form.partner_id = res_partner_3
with order_form.order_line.new() as line:
line.product_id = product_lifo_icecream
line.product_qty = 10.0
@@ -58,7 +53,7 @@ class TestLifoPrice(common.TransactionCase):
# I create a draft Purchase Order for second shipment for 30 pieces at 80 euro
order2_form = Form(self.env['purchase.order'])
- order2_form.partner_id = self.env.ref('base.res_partner_3')
+ order2_form.partner_id = res_partner_3
with order2_form.order_line.new() as line:
line.product_id = product_lifo_icecream
line.product_qty = 30.0
diff --git a/addons/stock_dropshipping/tests/test_procurement_exception.py b/addons/stock_dropshipping/tests/test_procurement_exception.py
index b7e2c01b580..8d1a234d4c2 100644
--- a/addons/stock_dropshipping/tests/test_procurement_exception.py
+++ b/addons/stock_dropshipping/tests/test_procurement_exception.py
@@ -8,6 +8,12 @@ class TestProcurementException(common.TransactionCase):
def test_00_procurement_exception(self):
+ res_partner_2 = self.env['res.partner'].create({'name': 'My Test Partner'})
+ res_partner_address = self.env['res.partner'].create({
+ 'name': 'My Test Partner Address',
+ 'parent_id': res_partner_2.id,
+ })
+
# I create a product with no supplier define for it.
product_form = Form(self.env['product.product'])
product_form.name = 'product with no seller'
@@ -18,12 +24,11 @@ class TestProcurementException(common.TransactionCase):
std_price_wiz = Form(self.env['stock.change.standard.price'].with_context(active_id=product_with_no_seller.id, active_model='product.product'))
std_price_wiz.new_price = 70.0
std_price_wiz.save()
-
# I create a sales order with this product with route dropship.
so_form = Form(self.env['sale.order'])
- so_form.partner_id = self.env.ref('base.res_partner_2')
- so_form.partner_invoice_id = self.env.ref('base.res_partner_address_3')
- so_form.partner_shipping_id = self.env.ref('base.res_partner_address_3')
+ so_form.partner_id = res_partner_2
+ so_form.partner_invoice_id = res_partner_address
+ so_form.partner_shipping_id = res_partner_address
so_form.payment_term_id = self.env.ref('account.account_payment_term_end_following_month')
with so_form.order_line.new() as line:
line.product_id = product_with_no_seller
@@ -39,7 +44,7 @@ class TestProcurementException(common.TransactionCase):
with Form(product_with_no_seller) as f:
with f.seller_ids.new() as seller:
seller.delay = 1
- seller.name = self.env.ref('base.res_partner_2')
+ seller.name = res_partner_2
seller.min_qty = 2.0
# I confirm the sales order, no error this time
diff --git a/addons/stock_dropshipping/tests/test_stockvaluation.py b/addons/stock_dropshipping/tests/test_stockvaluation.py
index 2f8f9bc65aa..d4805cca50b 100644
--- a/addons/stock_dropshipping/tests/test_stockvaluation.py
+++ b/addons/stock_dropshipping/tests/test_stockvaluation.py
@@ -1,25 +1,67 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from odoo.addons.account.tests.account_test_classes import AccountingTestCase
+from odoo.addons.stock_account.tests.stock_account_minimal_test import StockAccountMinimalTest
from odoo.tests import Form, tagged
@tagged('post_install', '-at_install')
-class TestStockValuation(AccountingTestCase):
- def setUp(self):
- super(TestStockValuation, self).setUp()
- self.supplier_location = self.env.ref('stock.stock_location_suppliers')
- self.stock_location = self.env.ref('stock.stock_location_stock')
- self.partner_id = self.env.ref('base.res_partner_1')
- self.product1 = self.env.ref('product.product_product_8')
- self.categ_id = self.product1.categ_id
-
- self.acc_payable = self.partner_id.property_account_payable_id.id
- self.acc_expense = self.categ_id.property_account_expense_categ_id.id
- self.acc_receivable = self.partner_id.property_account_receivable_id.id
- self.acc_sale = self.categ_id.property_account_income_categ_id.id
- self.acc_stock_in = self.categ_id.property_stock_account_input_categ_id.id
- self.acc_stock_out = self.categ_id.property_stock_account_output_categ_id.id
+class TestStockValuation(StockAccountMinimalTest):
+
+ @classmethod
+ def setUpClass(cls):
+ super(TestStockValuation, cls).setUpClass()
+ # Setup a new company to avoid any external influence
+ cls.company = cls.env['res.company'].create({
+ 'name': 'My Test Company',
+ 'currency_id': cls.env.ref('base.USD').id,
+ })
+ cls.env.user.company_id = cls.company
+ cls.create_accounting_minimal_data()
+
+ cls.supplier_location = cls.env.ref('stock.stock_location_suppliers')
+ cls.stock_location = cls.env.ref('stock.stock_location_stock')
+ cls.partner_id = cls.env['res.partner'].create({'name': 'My Test Partner'})
+ cls.product1 = cls.env['product.product'].create({
+ 'name': 'Large Desk',
+ 'type': 'product',
+ 'categ_id': cls.env.ref('product.product_category_all').id,
+ 'taxes_id': [(6, 0, [])],
+ })
+ cls.categ_id = cls.product1.categ_id
+ cls.stock_input_account = cls.env['account.account'].create({
+ 'name': 'Stock Input',
+ 'code': 'StockIn',
+ 'user_type_id': cls.env.ref('account.data_account_type_current_assets').id,
+ 'reconcile': True,
+ })
+ cls.stock_output_account = cls.env['account.account'].create({
+ 'name': 'Stock Output',
+ 'code': 'StockOut',
+ 'user_type_id': cls.env.ref('account.data_account_type_current_assets').id,
+ 'reconcile': True,
+ })
+ cls.stock_valuation_account = cls.env['account.account'].create({
+ 'name': 'Stock Valuation',
+ 'code': 'Stock Valuation',
+ 'user_type_id': cls.env.ref('account.data_account_type_current_assets').id,
+ })
+ cls.stock_journal = cls.env['account.journal'].create({
+ 'name': 'Stock Journal',
+ 'code': 'STJTEST',
+ 'type': 'general',
+ })
+ cls.product1.categ_id.write({
+ 'property_stock_account_input_categ_id': cls.stock_input_account.id,
+ 'property_stock_account_output_categ_id': cls.stock_output_account.id,
+ 'property_stock_valuation_account_id': cls.stock_valuation_account.id,
+ 'property_stock_journal': cls.stock_journal.id,
+ })
+ cls.acc_payable = cls.partner_id.property_account_payable_id.id
+ cls.acc_expense = cls.categ_id.property_account_expense_categ_id.id
+ cls.acc_receivable = cls.partner_id.property_account_receivable_id.id
+ cls.acc_sale = cls.categ_id.property_account_income_categ_id.id
+ cls.acc_stock_in = cls.categ_id.property_stock_account_input_categ_id.id
+ cls.acc_stock_out = cls.categ_id.property_stock_account_output_categ_id.id
def _dropship_product1(self):
# enable the dropship and MTO route on the product
@@ -47,6 +89,7 @@ class TestStockValuation(AccountingTestCase):
'product_uom_qty': 1,
'product_uom': self.product1.uom_id.id,
'price_unit': 12,
+ 'tax_id': [(6, 0, [])],
})],
'pricelist_id': self.env.ref('product.list0').id,
'picking_policy': 'direct',
@@ -69,6 +112,7 @@ class TestStockValuation(AccountingTestCase):
move_form = Form(self.env['account.move'].with_context(default_type='in_invoice'))
move_form.partner_id = vendor1
move_form.purchase_id = self.purchase_order1
+ move_form.line_ids.tax_ids = False
self.vendor_bill1 = move_form.save()
self.vendor_bill1.post()
@@ -261,7 +305,6 @@ class TestStockValuation(AccountingTestCase):
self.acc_stock_in: (8.0, 8.0),
self.acc_stock_out: (8.0, 8.0),
}
-
self._check_results(expected_aml, 10, all_amls)
def test_dropship_standard_perpetual_anglosaxon_ordered_return(self):