diff options
| author | Xavier Morel <xmo@odoo.com> | 2017-11-14 17:50:58 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@odoo.com> | 2017-12-04 13:11:55 +0100 |
| commit | df695e2d92307cbe4fcda2b6ddac753979cb46fb (patch) | |
| tree | ddd9aab266871a5cad80c9fd542121479a1dc90d /addons | |
| parent | 08461c439b3b05f67e809a4aaff23c3a6d950345 (diff) | |
[IMP] stock_dropshipping: convert tests to SSF
Diffstat (limited to 'addons')
4 files changed, 90 insertions, 113 deletions
diff --git a/addons/stock_dropshipping/tests/test_crossdock.py b/addons/stock_dropshipping/tests/test_crossdock.py index a1a8225661d..3902ffcb9d7 100644 --- a/addons/stock_dropshipping/tests/test_crossdock.py +++ b/addons/stock_dropshipping/tests/test_crossdock.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo.tests import common +from odoo.tests import common, Form class TestCrossdock(common.TransactionCase): @@ -12,12 +12,12 @@ class TestCrossdock(common.TransactionCase): supplier_crossdock = self.env['res.partner'].create({'name': "Crossdocking supplier"}) # I first create a warehouse with pick-pack-ship and reception in 2 steps - wh_pps = self.env['stock.warehouse'].create({ - 'name': 'WareHouse PickPackShip', - 'code': 'whpps', - 'reception_steps': 'two_steps', - 'delivery_steps': 'pick_pack_ship' - }) + wh_f = Form(self.env['stock.warehouse']) + wh_f.name = 'WareHouse PickPackShip' + wh_f.code = 'whpps' + wh_f.reception_steps = 'two_steps' + wh_f.delivery_steps = 'pick_pack_ship' + wh_pps = wh_f.save() # Check that cross-dock route is active self.assertTrue(wh_pps.crossdock_route_id.active, @@ -38,17 +38,13 @@ class TestCrossdock(common.TransactionCase): }) # Create a sales order with a line of 100 PCE incoming shipment with route_id crossdock shipping - sale_order_crossdock = self.env['sale.order'].create({ - 'partner_id': self.env.ref('base.res_partner_4').id, - 'warehouse_id': wh_pps.id, - 'note': 'Create Sales Order', - 'order_line': [(0, 0, { - 'product_id': cross_shop_product.id, - 'product_uom_qty': 100.0, - 'product_uom': self.env.ref('product.product_uom_unit').id, - 'route_id': wh_pps.crossdock_route_id.id, - })] - }) + so_form = Form(self.env['sale.order']) + so_form.partner_id = self.env.ref('base.res_partner_4') + so_form.warehouse_id = wh_pps + with so_form.order_line.new() as line: + line.product_id = cross_shop_product + line.product_uom_qty = 100.0 + sale_order_crossdock = so_form.save() # Confirm sales order sale_order_crossdock.action_confirm() diff --git a/addons/stock_dropshipping/tests/test_dropship.py b/addons/stock_dropshipping/tests/test_dropship.py index 4ab4726f8cb..5faacdb78a3 100644 --- a/addons/stock_dropshipping/tests/test_dropship.py +++ b/addons/stock_dropshipping/tests/test_dropship.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo.tests import common +from odoo.tests import common, Form class TestDropship(common.TransactionCase): @@ -16,7 +16,7 @@ class TestDropship(common.TransactionCase): 'name': "Pen drive", 'type': "product", 'categ_id': self.env.ref('product.product_category_1').id, - 'list_price': 100.0, + 'lst_price': 100.0, 'standard_price': 0.0, 'uom_id': self.env.ref('product.product_uom_unit').id, 'uom_po_id': self.env.ref('product.product_uom_unit').id, @@ -28,17 +28,15 @@ class TestDropship(common.TransactionCase): }) # Create a sales order with a line of 200 PCE incoming shipment, with route_id drop shipping - sale_order_drp_shpng = self.env['sale.order'].create({ - 'partner_id': self.env.ref('base.res_partner_2').id, - 'note': 'Create sale order for drop shipping', - 'payment_term_id': self.env.ref('account.account_payment_term').id, - 'order_line': [(0, 0, { - 'product_id': drop_shop_product.id, - 'product_uom_qty': 200, - 'price_unit': 1.00, - 'route_id': self.env.ref('stock_dropshipping.route_drop_shipping').id, - })] - }) + so_form = Form(self.env['sale.order']) + so_form.partner_id = self.env.ref('base.res_partner_2') + so_form.payment_term_id = self.env.ref('account.account_payment_term') + with so_form.order_line.new() as line: + line.product_id = drop_shop_product + line.product_uom_qty = 200 + line.price_unit = 1.00 + line.route_id = self.env.ref('stock_dropshipping.route_drop_shipping') + sale_order_drp_shpng = so_form.save() # Confirm sales order sale_order_drp_shpng.action_confirm() diff --git a/addons/stock_dropshipping/tests/test_lifo_price.py b/addons/stock_dropshipping/tests/test_lifo_price.py index 7c39c95a3fa..b2d419aa2c4 100644 --- a/addons/stock_dropshipping/tests/test_lifo_price.py +++ b/addons/stock_dropshipping/tests/test_lifo_price.py @@ -3,9 +3,11 @@ import time +from datetime import date + from odoo import tools from odoo.modules.module import get_module_resource -from odoo.tests import common +from odoo.tests import common, Form class TestLifoPrice(common.TransactionCase): @@ -26,49 +28,46 @@ class TestLifoPrice(common.TransactionCase): product_category_001 = self.env['product.category'].create({ 'name': 'Lifo Category', 'removal_strategy_id': self.env.ref('stock.removal_lifo').id, + 'property_valuation': 'real_time', + 'property_cost_method': 'fifo', }) # Set a product as using lifo price - product_lifo_icecream = self.env['product.product'].create({ - 'default_code': 'LIFO', - 'name': 'LIFO Ice Cream', - 'type': 'product', - 'categ_id': product_category_001.id, - 'list_price': 100.0, - 'standard_price': 70.0, - 'uom_id': self.env.ref('product.product_uom_kgm').id, - 'uom_po_id': self.env.ref('product.product_uom_kgm').id, - 'valuation': 'real_time', - 'cost_method': 'fifo', - 'property_stock_account_input': self.env.ref('stock_dropshipping.o_expense').id, - 'property_stock_account_output': self.env.ref('stock_dropshipping.o_income').id, - }) + product_form = Form(self.env['product.product']) + product_form.default_code = 'LIFO' + product_form.name = 'LIFO Ice Cream' + product_form.type = 'product' + product_form.categ_id = product_category_001 + product_form.lst_price = 100.0 + product_form.standard_price = 70.0 + product_form.uom_id = self.env.ref('product.product_uom_kgm') + product_form.uom_po_id = self.env.ref('product.product_uom_kgm') + # these are not available (visible) in either product or variant + # for views, apparently from the UI you can only set the product + # category (or hand-assign the property_* version which seems...) + # product_form.valuation = 'real_time' + # product_form.cost_method = 'fifo' + product_form.property_stock_account_input = self.env.ref('stock_dropshipping.o_expense') + product_form.property_stock_account_output = self.env.ref('stock_dropshipping.o_income') + product_lifo_icecream = product_form.save() # I create a draft Purchase Order for first in move for 10 pieces at 60 euro - purchase_order_lifo1 = self.env['purchase.order'].create({ - 'partner_id': self.env.ref('base.res_partner_3').id, - 'order_line': [(0, 0, { - 'product_id': product_lifo_icecream.id, - 'product_qty': 10.0, - 'product_uom': self.env.ref('product.product_uom_kgm').id, - 'price_unit': 60.0, - 'name': 'LIFO Ice Cream', - 'date_planned': time.strftime('%Y-%m-%d'), - })] - }) + order_form = Form(self.env['purchase.order']) + order_form.partner_id = self.env.ref('base.res_partner_3') + with order_form.order_line.new() as line: + line.product_id = product_lifo_icecream + line.product_qty = 10.0 + line.price_unit = 60.0 + purchase_order_lifo1 = order_form.save() # I create a draft Purchase Order for second shipment for 30 pieces at 80 euro - purchase_order_lifo2 = self.env['purchase.order'].create({ - 'partner_id': self.env.ref('base.res_partner_3').id, - 'order_line': [(0, 0, { - 'product_id': product_lifo_icecream.id, - 'product_qty': 30.0, - 'product_uom': self.env.ref('product.product_uom_kgm').id, - 'price_unit': 80.0, - 'name': 'LIFO Ice Cream', - 'date_planned': time.strftime('%Y-%m-%d'), - })] - }) + order2_form = Form(self.env['purchase.order']) + order2_form.partner_id = self.env.ref('base.res_partner_3') + with order2_form.order_line.new() as line: + line.product_id = product_lifo_icecream + line.product_qty = 30.0 + line.price_unit = 80.0 + purchase_order_lifo2 = order2_form.save() # I confirm the first purchase order purchase_order_lifo1.button_confirm() @@ -88,28 +87,16 @@ class TestLifoPrice(common.TransactionCase): purchase_order_lifo2.picking_ids[0].button_validate() # Let us send some goods - outgoing_lifo_shipment = self.env['stock.picking'].new({ - 'picking_type_id': self.env.ref('stock.picking_type_out').id, - }) - outgoing_lifo_shipment.onchange_picking_type() - vals = outgoing_lifo_shipment._convert_to_write(outgoing_lifo_shipment._cache) - outgoing_lifo_shipment = self.env['stock.picking'].create(vals) - - # Picking needs movement from stock, outgoing_shipment_lifo_icecream - self.env['stock.move'].create({ - 'name': product_lifo_icecream.name, - 'product_id': product_lifo_icecream.id, - 'picking_id': outgoing_lifo_shipment.id, - 'product_uom': self.env.ref('product.product_uom_kgm').id, - 'location_id': self.env.ref('stock.stock_location_stock').id, - 'location_dest_id': self.env.ref('stock.stock_location_customers').id, - 'product_uom_qty': 20.0, - 'picking_type_id': self.env.ref('stock.picking_type_out').id, - }) + out_form = Form(self.env['stock.picking']) + out_form.picking_type_id = self.env.ref('stock.picking_type_out') + out_form.scheduled_date = date.today().strftime('%Y-%m-%d') + with out_form.move_lines.new() as move: + move.product_id = product_lifo_icecream + move.quantity_done = 20.0 + outgoing_lifo_shipment = out_form.save() # I assign this outgoing shipment outgoing_lifo_shipment.action_assign() - outgoing_lifo_shipment.move_lines.quantity_done = outgoing_lifo_shipment.move_lines.product_qty # Process the delivery of the outgoing shipment outgoing_lifo_shipment.button_validate() diff --git a/addons/stock_dropshipping/tests/test_procurement_exception.py b/addons/stock_dropshipping/tests/test_procurement_exception.py index a14539818c2..3e9921a6e8c 100644 --- a/addons/stock_dropshipping/tests/test_procurement_exception.py +++ b/addons/stock_dropshipping/tests/test_procurement_exception.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo.tests import common +from odoo.tests import common, Form class TestProcurementException(common.TransactionCase): @@ -9,39 +9,35 @@ class TestProcurementException(common.TransactionCase): def test_00_procurement_exception(self): # I create a product with no supplier define for it. - product_with_no_seller = self.env['product.product'].create({ - "name": 'product with no seller', - 'list_price': 20.00, - 'standard_price': 15.00, - 'categ_id': self.env.ref('product.product_category_1').id, - }) + product_form = Form(self.env['product.product']) + product_form.name = 'product with no seller' + product_form.lst_price = 20.00 + product_form.standard_price = 15.00 + product_form.categ_id = self.env.ref('product.product_category_1') + product_with_no_seller = product_form.save() # I create a sales order with this product with route dropship. - sale_order_route_dropship01 = self.env['sale.order'].create({ - 'partner_id': self.env.ref('base.res_partner_2').id, - 'partner_invoice_id': self.env.ref('base.res_partner_address_3').id, - 'partner_shipping_id': self.env.ref('base.res_partner_address_3').id, - 'note': 'crossdock route', - 'payment_term_id': self.env.ref('account.account_payment_term').id, - 'order_line': [(0, 0, { - 'product_id': product_with_no_seller.id, - 'product_uom_qty': 1, - 'route_id': self.env.ref('stock_dropshipping.route_drop_shipping').id, - })] - }) + 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.payment_term_id = self.env.ref('account.account_payment_term') + with so_form.order_line.new() as line: + line.product_id = product_with_no_seller + line.product_uom_qty = 1 + line.route_id = self.env.ref('stock_dropshipping.route_drop_shipping') + sale_order_route_dropship01 = so_form.save() # I confirm the sales order, but it will raise an error with self.assertRaises(Exception): sale_order_route_dropship01.action_confirm() # I set the at least one supplier on the product. - product_with_no_seller.write({ - 'seller_ids': [(0, 0, { - 'delay': 1, - 'name': self.env.ref('base.res_partner_2').id, - 'min_qty': 2.0 - })] - }) + 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.min_qty = 2.0 # I confirm the sales order, no error this time sale_order_route_dropship01.action_confirm() |
