first commit
This commit is contained in:
87
modules/project/tests/scenario_project_status.rst
Normal file
87
modules/project/tests/scenario_project_status.rst
Normal file
@@ -0,0 +1,87 @@
|
||||
=======================
|
||||
Project Status Scenario
|
||||
=======================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> from proteus import Model
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
Activate project::
|
||||
|
||||
>>> config = activate_modules('project', create_company)
|
||||
|
||||
Create status::
|
||||
|
||||
>>> WorkStatus = Model.get('project.work.status')
|
||||
>>> in_progress = WorkStatus(name="In-Progress", types=['project'])
|
||||
>>> in_progress.progress = 0.1
|
||||
>>> in_progress.save()
|
||||
>>> open, = WorkStatus.find([('name', '=', "Open")])
|
||||
>>> done, = WorkStatus.find([('name', '=', "Done")])
|
||||
|
||||
Create a project with a task::
|
||||
|
||||
>>> Work = Model.get('project.work')
|
||||
|
||||
>>> project = Work(type='project', name="Project")
|
||||
>>> assertEqual(project.status, open)
|
||||
>>> task = project.children.new(name="Task")
|
||||
>>> assertEqual(task.status, open)
|
||||
|
||||
>>> project.save()
|
||||
>>> task, = project.children
|
||||
|
||||
Open the project::
|
||||
|
||||
>>> project.status = in_progress
|
||||
>>> project.progress
|
||||
0.1
|
||||
>>> project.save()
|
||||
|
||||
Try to complete project without task::
|
||||
|
||||
>>> project.status = done
|
||||
>>> project.progress
|
||||
1.0
|
||||
>>> project.save()
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
WorkProgressValidationError: ...
|
||||
|
||||
>>> task, = project.children
|
||||
>>> task.progress = 1
|
||||
>>> project.save()
|
||||
|
||||
Try to reopen task without project::
|
||||
|
||||
>>> task = Work(task.id)
|
||||
>>> task.progress = 0.5
|
||||
>>> task.save()
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
WorkProgressValidationError: ...
|
||||
|
||||
Change progress with updating status::
|
||||
|
||||
>>> project.progress = 0.8
|
||||
>>> project.save()
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
WorkProgressValidationError: ...
|
||||
|
||||
>>> project.status = in_progress
|
||||
>>> project.save()
|
||||
|
||||
Reopen task::
|
||||
|
||||
>>> task = Work(task.id)
|
||||
>>> task.progress = 0.5
|
||||
>>> task.save()
|
||||
|
||||
Copy the project::
|
||||
|
||||
>>> project_copy, = project.duplicate()
|
||||
>>> assertEqual(project_copy.status, open)
|
||||
>>> project_copy.progress
|
||||
Reference in New Issue
Block a user