trytond-project_role/tests/scenario_project_role.rst

155 lines
3.7 KiB
ReStructuredText

=====================
Project Role Scenario
=====================
Imports::
>>> from proteus import Model
>>> from trytond.tests.tools import activate_modules
>>> from trytond.modules.company.tests.tools import create_company, \
... get_company
Install account_invoice::
>>> config = activate_modules('project_role')
Create company::
>>> _ = create_company()
>>> company = get_company()
Create party::
>>> Party = Model.get('party.party')
>>> party = Party()
>>> party.save()
>>> party2 = Party()
>>> party2.name = 'emp1'
>>> party2.save()
>>> party3 = Party()
>>> party3.name = 'emp2'
>>> party3.save()
Create employee::
>>> Employee = Model.get('company.employee')
>>> employee1 = Employee()
>>> employee1.party = party2
>>> employee1.company = company
>>> employee1.save()
>>> employee2 = Employee()
>>> employee2.party = party3
>>> employee2.company = company
>>> employee2.save()
Create Roles::
>>> Role = Model.get('project.role')
>>> dev = Role()
>>> dev.name = 'Developer'
>>> dev.save()
>>> tester = Role()
>>> tester.name = 'Tester'
>>> tester.save()
Create TaskPhase::
>>> Task_Phase = Model.get('project.work.task_phase')
>>> phase = Task_Phase()
>>> phase.name = 'inici'
>>> phase.role = dev
>>> phase.save()
>>> phase2 = Task_Phase()
>>> phase2.name = 'test'
>>> phase2.role = tester
>>> phase2.save()
Create Workflow::
>>> Workflow = Model.get('project.work.workflow')
>>> workflow = Workflow()
>>> workflow.name = 'workflowTest'
>>> workflow.save()
Create Workflow Lines ::
>>> Workflow_Line = Model.get('project.work.workflow.line')
>>> workflow_line = Workflow_Line()
>>> workflow_line.workflow = workflow
>>> workflow_line.phase = phase
>>> workflow_line.save()
>>> workflow_line2 = Workflow_Line()
>>> workflow_line2.workflow = workflow
>>> workflow_line2.phase = phase2
>>> workflow_line2.save()
Create Tracker::
>>> Tracker = Model.get('project.work.tracker')
>>> tracker = Tracker()
>>> tracker.name = 'TrackerTest'
>>> tracker.workflow = workflow
>>> tracker.save()
Create Task::
>>> Task = Model.get('project.work')
>>> task = Task()
>>> task.name = 'testTask'
>>> task.company = company
>>> task.tracker = tracker
>>> task.task_phase = workflow_line2.phase
>>> task.state = 'opened'
>>> task.save()
Create Allocation::
>>> Allocation = Model.get('project.allocation')
>>> allocation = Allocation()
>>> allocation.work = task
>>> allocation.role = dev
>>> allocation.employee = employee1
>>> allocation.save()
>>> allocation2 = Allocation()
>>> allocation2.work = task
>>> allocation2.role = tester
>>> allocation2.employee = employee2
>>> allocation2.save()
Searcher ::
>>> result, = Task.find(['name','ilike', '%test%'])
>>> result.id == task.id
True
Searcher Asignee Tests::
>>> result, = Task.find(['assignee', 'ilike', '%emp2%'])
>>> result.id == task.id
True
>>> result = Task.find(['assignee', 'ilike', '%emp1%'])
>>> result
[]
Searcher employee/role::
>>> result, = Task.find(['role_employee', 'ilike', '%emp1/dev%'])
>>> result.id == task.id
True
>>> result, = Task.find(['role_employee', 'ilike', '%emp2/test%'])
>>> result.id == task.id
True
>>> result = Task.find(['role_employee', 'ilike', '%emp1/test%'])
>>> result
[]
>>> result, = Task.find(['role_employee', 'ilike', '%emp1%'])
>>> result.id == task.id
True
>>> result = Task.find(['role_employee', 'ilike', '%test%'])
>>> result
[]