[IMP] stock_mts_mto_rule : Added some unit tests

This commit is contained in:
Sylvain GARANCHER
2016-10-17 12:42:22 +02:00
committed by Maik Steinfeld
parent d3d5e55cd8
commit 77e1f8d2db

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import exceptions
from odoo.tests.common import TransactionCase
from datetime import datetime
@@ -56,6 +57,26 @@ class TestMtoMtsRoute(TransactionCase):
self.assertEqual(2, len(moves))
self.assertEqual(1.0, moves[0].product_uom_qty)
def test_mts_mto_route_split_done(self):
mto_mts_route = self.env.ref('stock_mts_mto_rule.route_mto_mts')
self.product.route_ids = [(6, 0, [mto_mts_route.id])]
self.quant.qty = 1.0
self._procurement_create()
self.assertEqual(self.procurement.state, 'running')
self.procurement.mts_mto_procurement_ids.mapped(
'move_ids').action_done()
self.assertEqual(self.procurement.state, 'done')
def test_mts_mto_route_split_cancel(self):
mto_mts_route = self.env.ref('stock_mts_mto_rule.route_mto_mts')
self.product.route_ids = [(6, 0, [mto_mts_route.id])]
self.quant.qty = 1.0
self._procurement_create()
self.procurement.mts_mto_procurement_ids.cancel()
self.assertEqual(self.procurement.state, 'running')
self.procurement.check()
self.assertEqual(self.procurement.state, 'cancel')
def test_mts_mto_route_mts_only(self):
mto_mts_route = self.env.ref('stock_mts_mto_rule.route_mto_mts')
self.product.route_ids = [(6, 0, [mto_mts_route.id])]
@@ -80,6 +101,62 @@ class TestMtoMtsRoute(TransactionCase):
self.assertEqual('make_to_stock',
moves[0].procure_method)
def test_mts_mto_route_mto_removed(self):
self.env.ref('stock_mts_mto_rule.route_mto_mts').unlink()
self.warehouse.mts_mto_rule_id = False
with self.assertRaises(exceptions.Warning):
self.warehouse.mto_mts_management = True
def test_mts_mto_route_mts_removed(self):
self.warehouse.mto_mts_management = True
self.env['procurement.rule'].search([
('location_src_id', '=', self.warehouse.lot_stock_id.id),
('route_id', '=', self.warehouse.delivery_route_id.id),
]).unlink()
self.warehouse.mts_mto_rule_id = False
with self.assertRaises(exceptions.Warning):
self.warehouse.mto_mts_management = True
def test_mts_mto_route_mto_no_mts_rule(self):
self.warehouse.mts_mto_rule_id = False
self.warehouse.mto_pull_id = False
with self.assertRaises(exceptions.Warning):
self.warehouse.mto_mts_management = True
def test_create_routes(self):
rule_obj = self.env['procurement.rule']
created_routes = self.warehouse.create_routes(self.warehouse)
mts_mto_route = rule_obj.browse(created_routes['mts_mto_rule_id'])
self.assertEqual(mts_mto_route.warehouse_id, self.warehouse)
self.assertEqual(
mts_mto_route.location_id, self.warehouse.mto_pull_id.location_id)
self.assertEqual(
mts_mto_route.picking_type_id,
self.warehouse.mto_pull_id.picking_type_id)
self.assertEqual(
mts_mto_route.route_id,
self.env.ref('stock_mts_mto_rule.route_mto_mts'))
def test_remove_mts_mto_management(self):
warehouse_rule = self.warehouse.mts_mto_rule_id
self.assertTrue(self.warehouse.mts_mto_rule_id)
self.warehouse.mto_mts_management = False
self.assertFalse(warehouse_rule.exists())
self.assertFalse(self.warehouse.mts_mto_rule_id)
def test_get_all_routes_for_wh(self):
routes = self.warehouse.get_all_routes_for_wh(self.warehouse)
self.assertTrue(self.warehouse.mts_mto_rule_id)
self.assertTrue(self.warehouse.mts_mto_rule_id.route_id.id in routes)
def test_rename_warehouse(self):
rule_name = self.warehouse.mts_mto_rule_id.name
new_warehouse_name = 'NewName'
new_rule_name = rule_name.replace(
self.warehouse.name, new_warehouse_name, 1)
self.warehouse.name = new_warehouse_name
self.assertEqual(new_rule_name, self.warehouse.mts_mto_rule_id.name)
def setUp(self):
super(TestMtoMtsRoute, self).setUp()
self.warehouse = self.env.ref('stock.warehouse0')