mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-18 14:12:00 +02:00
59 lines
2.2 KiB
Python
59 lines
2.2 KiB
Python
# Copyright 2018 - Today Sylvain LE GAL (https://twitter.com/legalsylvain)
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo.tests import tagged
|
|
|
|
from odoo.addons.point_of_sale.tests.common import TestPoSCommon
|
|
|
|
|
|
@tagged("post_install", "-at_install")
|
|
class TestPosPickingDelayed(TestPoSCommon):
|
|
@classmethod
|
|
def setUpClass(cls, chart_template_ref=None):
|
|
super().setUpClass(chart_template_ref=chart_template_ref)
|
|
cls.config = cls.basic_config
|
|
cls.product = cls.create_product("Product Test", cls.categ_basic, 5.0, 0.0)
|
|
cls.QueueJob = cls.env["queue.job"]
|
|
cls.PosOrder = cls.env["pos.order"]
|
|
|
|
def _create_order(self, partner_id=False):
|
|
self.open_new_session()
|
|
orders = [self.create_ui_order_data([(self.product, 3)])]
|
|
result = self.env["pos.order"].create_from_ui(orders)
|
|
order = self.PosOrder.browse(result[0]["id"])
|
|
return order
|
|
|
|
def test_01_picking_delayed_enabled(self):
|
|
# Enable feature
|
|
self.basic_config.picking_creation_delayed = True
|
|
|
|
order = self._create_order()
|
|
|
|
self.assertEqual(
|
|
order.picking_ids.id,
|
|
False,
|
|
"Creating order via UI should not generate a picking if"
|
|
" feature is enabled",
|
|
)
|
|
|
|
# Test if a Queue Job has been generated
|
|
func_string = "pos.order(%d,)._create_delayed_picking()" % (order.id)
|
|
queues = self.QueueJob.search([("func_string", "=", func_string)])
|
|
self.assertEqual(len(queues), 1, "Queue Job has not been created")
|
|
|
|
def test_02_picking_delayed_disabled(self):
|
|
# Disable feature
|
|
self.basic_config.picking_creation_delayed = False
|
|
|
|
order = self._create_order()
|
|
|
|
self.assertNotEqual(
|
|
order.picking_ids.id,
|
|
False,
|
|
"Creating order via UI should generate a picking if feature is disabled",
|
|
)
|
|
|
|
# Test if a Queue Job has not been generated
|
|
func_string = "pos.order(%d,)._create_delayed_picking()" % (order.id)
|
|
queues = self.QueueJob.search([("func_string", "=", func_string)])
|
|
self.assertEqual(len(queues), 0, "Queue Job has been created")
|