mirror of
https://github.com/bringout/oca-workflow-process.git
synced 2026-04-19 11:32:06 +02:00
Initial commit: OCA Workflow Process packages (456 packages)
This commit is contained in:
commit
d366e42934
18799 changed files with 1284507 additions and 0 deletions
|
|
@ -0,0 +1,88 @@
|
|||
# Copyright 2022 Tecnativa - Víctor Martínez
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo.tests import Form, common
|
||||
from odoo.tests.common import new_test_user
|
||||
|
||||
from odoo.addons.base.tests.common import DISABLED_MAIL_CONTEXT
|
||||
|
||||
|
||||
class TestProjectStockBase(common.TransactionCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.env = cls.env(context=dict(cls.env.context, **DISABLED_MAIL_CONTEXT))
|
||||
cls.product_a = cls.env["product.product"].create(
|
||||
{"name": "Test product A", "detailed_type": "product", "standard_price": 10}
|
||||
)
|
||||
cls.product_b = cls.env["product.product"].create(
|
||||
{"name": "Test product B", "detailed_type": "product", "standard_price": 20}
|
||||
)
|
||||
cls.product_c = cls.env["product.product"].create(
|
||||
{"name": "Test product C", "detailed_type": "product", "standard_price": 0}
|
||||
)
|
||||
cls.picking_type = cls.env.ref("project_stock.stock_picking_type_tm_test")
|
||||
cls.location = cls.picking_type.default_location_src_id
|
||||
cls.location_dest = cls.picking_type.default_location_dest_id
|
||||
cls.plan = cls.env["account.analytic.plan"].create(
|
||||
{
|
||||
"name": "Projects Plan",
|
||||
"company_id": False,
|
||||
}
|
||||
)
|
||||
cls.analytic_account = cls.env["account.analytic.account"].create(
|
||||
{
|
||||
"name": "Test account",
|
||||
"plan_id": cls.plan.id,
|
||||
},
|
||||
)
|
||||
cls.analytic_account_2 = cls.analytic_account.copy(
|
||||
{
|
||||
"name": "Test account 2",
|
||||
"plan_id": cls.plan.id,
|
||||
}
|
||||
)
|
||||
cls.project = cls.env.ref("project_stock.project_project_tm_test")
|
||||
cls.project.analytic_account_id = cls.analytic_account
|
||||
cls.stage_in_progress = cls.env.ref("project.project_stage_1")
|
||||
cls.stage_done = cls.env.ref("project.project_stage_2")
|
||||
group_stock_user = "stock.group_stock_user"
|
||||
cls.basic_user = new_test_user(
|
||||
cls.env,
|
||||
login="basic-user",
|
||||
groups="project.group_project_user,%s" % group_stock_user,
|
||||
)
|
||||
new_test_user(
|
||||
cls.env,
|
||||
login="manager-user",
|
||||
groups="project.group_project_manager,%s,analytic.group_analytic_accounting"
|
||||
% group_stock_user,
|
||||
)
|
||||
new_test_user(
|
||||
cls.env,
|
||||
login="project-task-user",
|
||||
groups="project.group_project_user,stock.group_stock_user",
|
||||
)
|
||||
|
||||
def _prepare_context_task(self):
|
||||
return {
|
||||
"default_project_id": self.project.id,
|
||||
"default_stage_id": self.stage_in_progress.id,
|
||||
# We need to set default values according to compute store fields
|
||||
"default_location_id": self.project.location_id.id,
|
||||
"default_location_dest_id": self.project.location_dest_id.id,
|
||||
"default_picking_type_id": self.project.picking_type_id.id,
|
||||
}
|
||||
|
||||
def _create_task(self, products):
|
||||
task_form = Form(
|
||||
self.env["project.task"].with_context(**self._prepare_context_task(self))
|
||||
)
|
||||
task_form.name = "Test task"
|
||||
# Save task to use default_get() correctlly in stock.moves
|
||||
task_form.save()
|
||||
for product in products:
|
||||
with task_form.move_ids.new() as move_form:
|
||||
move_form.product_id = product[0]
|
||||
move_form.product_uom_qty = product[1]
|
||||
return task_form.save()
|
||||
Loading…
Add table
Add a link
Reference in a new issue