mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
61 lines
2.3 KiB
Python
61 lines
2.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
# © 2017 Eficent Business and IT Consulting Services S.L.
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo.tests.common import TransactionCase
|
|
|
|
|
|
class TestProcurementAutoCreateGroup(TransactionCase):
|
|
def setUp(self, *args, **kwargs):
|
|
super(TestProcurementAutoCreateGroup, self).setUp(*args, **kwargs)
|
|
self.po_model = self.env['procurement.order']
|
|
self.pr_model = self.env['procurement.rule']
|
|
self.product_12 = self.env.ref('product.product_product_12')
|
|
# Needed to avoid the dependency with stock:
|
|
if self.env.registry.models.get('stock.picking'):
|
|
picking_type_id = self.env.ref('stock.picking_type_internal').id
|
|
else:
|
|
picking_type_id = False
|
|
|
|
# Create rules:
|
|
self.no_auto_create = self.pr_model.create({
|
|
'name': 'rule without autocreate',
|
|
'auto_create_group': False,
|
|
'action': [],
|
|
'picking_type_id': picking_type_id,
|
|
})
|
|
self.auto_create = self.pr_model.create({
|
|
'name': 'rule with autocreate',
|
|
'auto_create_group': True,
|
|
'action': [],
|
|
'picking_type_id': picking_type_id,
|
|
})
|
|
|
|
def test_auto_create_group(self):
|
|
"""Test auto creation of group."""
|
|
proc1 = self.po_model.create({
|
|
'name': 'proc01',
|
|
'product_id': self.product_12.id,
|
|
'product_qty': 1.0,
|
|
'product_uom': self.product_12.uom_id.id,
|
|
'rule_id': self.no_auto_create.id,
|
|
})
|
|
self.assertFalse(proc1.group_id,
|
|
"Procurement Group should not have been assigned.")
|
|
proc2 = self.po_model.create({
|
|
'name': 'proc02',
|
|
'product_id': self.product_12.id,
|
|
'product_qty': 1.0,
|
|
'product_uom': self.product_12.uom_id.id,
|
|
'rule_id': self.auto_create.id,
|
|
})
|
|
self.assertTrue(proc2.group_id,
|
|
"Procurement Group has not been assigned.")
|
|
|
|
def test_onchange_method(self):
|
|
"""Test onchange method for procurement rule."""
|
|
proc_rule = self.auto_create
|
|
proc_rule.write({'group_propagation_option': 'none'})
|
|
proc_rule._onchange_group_propagation_option()
|
|
self.assertFalse(proc_rule.auto_create_group)
|