mirror of
https://github.com/bringout/oca-mrp.git
synced 2026-04-23 03:32:00 +02:00
Initial commit: OCA Mrp packages (117 packages)
This commit is contained in:
commit
277e84fd7a
4403 changed files with 395154 additions and 0 deletions
|
|
@ -0,0 +1,4 @@
|
|||
# (c) 2015 Oihane Crucelaegui - AvanzOSC
|
||||
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
|
||||
|
||||
from . import test_mrp_bom_version
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
# (c) 2015 Alfredo de la Fuente - AvanzOSC
|
||||
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
|
||||
|
||||
import odoo.tests as common
|
||||
|
||||
|
||||
class TestMrpBomVersion(common.TransactionCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(TestMrpBomVersion, cls).setUpClass()
|
||||
cls.parameter_model = cls.env["ir.config_parameter"].sudo()
|
||||
cls.bom_model = cls.env["mrp.bom"].with_context(test_mrp_bom_version=True)
|
||||
cls.company = cls.env.ref("base.main_company")
|
||||
vals = {
|
||||
"company_id": cls.company.id,
|
||||
"product_tmpl_id": cls.env.ref(
|
||||
"product.product_product_11_product_template"
|
||||
).id,
|
||||
"bom_line_ids": [
|
||||
(0, 0, {"product_id": cls.env.ref("product.product_product_5").id}),
|
||||
(0, 0, {"product_id": cls.env.ref("product.product_product_6").id}),
|
||||
],
|
||||
}
|
||||
cls.mrp_bom = cls.bom_model.create(vals)
|
||||
|
||||
def test_mrp_bom(self):
|
||||
self.assertEqual(
|
||||
self.mrp_bom.state, "draft", "New BoM must be in state 'draft'"
|
||||
)
|
||||
self.assertEqual(self.mrp_bom.version, 1, "Incorrect version for new BoM")
|
||||
self.assertFalse(self.mrp_bom.active, "New BoMs must be created inactive")
|
||||
self.mrp_bom.button_activate()
|
||||
self.assertTrue(self.mrp_bom.active, "Incorrect activation, check must be True")
|
||||
self.assertEqual(
|
||||
self.mrp_bom.state, "active", "Incorrect state, it should be 'active'"
|
||||
)
|
||||
self.mrp_bom.button_historical()
|
||||
self.assertFalse(
|
||||
self.mrp_bom.active, "Check must be False, after historification"
|
||||
)
|
||||
self.assertEqual(
|
||||
self.mrp_bom.state,
|
||||
"historical",
|
||||
"Incorrect state, it should be 'historical'",
|
||||
)
|
||||
|
||||
def test_mrp_bom_back2draft_default(self):
|
||||
self.mrp_bom.button_activate()
|
||||
self.mrp_bom.button_draft()
|
||||
self.assertFalse(self.mrp_bom.active, "Check must be False")
|
||||
|
||||
def test_mrp_bom_back2draft_active(self):
|
||||
self.parameter_model.set_param("mrp_bom_version.active_draft", True)
|
||||
self.mrp_bom.button_activate()
|
||||
self.mrp_bom.button_draft()
|
||||
self.assertTrue(self.mrp_bom.active, "Check must be True, as set in parameters")
|
||||
|
||||
def test_mrp_bom_versioning(self):
|
||||
self.mrp_bom.button_activate()
|
||||
self.mrp_bom.button_new_version()
|
||||
self.assertFalse(
|
||||
self.mrp_bom.active, "Check must be False, it must have been historified"
|
||||
)
|
||||
self.assertEqual(
|
||||
self.mrp_bom.state,
|
||||
"historical",
|
||||
"Incorrect state, it must have been historified",
|
||||
)
|
||||
new_boms = self.bom_model.with_context(active_test=False).search(
|
||||
[
|
||||
("previous_bom_id", "=", self.mrp_bom.id),
|
||||
]
|
||||
)
|
||||
for new_bom in new_boms:
|
||||
self.assertEqual(
|
||||
new_bom.version,
|
||||
self.mrp_bom.version + 1,
|
||||
"New BoM version must be +1 from origin BoM version",
|
||||
)
|
||||
self.assertEqual(
|
||||
new_bom.active,
|
||||
self.parameter_model.search([("key", "=", "active.draft")]).value,
|
||||
"It does not match active draft check state set in company",
|
||||
)
|
||||
self.assertEqual(
|
||||
new_bom.state, "draft", "New version must be created in 'draft' state"
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue