107 lines
2.7 KiB
ReStructuredText
107 lines
2.7 KiB
ReStructuredText
===========================
|
|
Quality Inspection Scenario
|
|
===========================
|
|
|
|
Imports::
|
|
|
|
>>> from proteus import Model
|
|
>>> from trytond.modules.company.tests.tools import create_company
|
|
>>> from trytond.tests.tools import activate_modules
|
|
|
|
Activate modules::
|
|
|
|
>>> config = activate_modules('quality', create_company)
|
|
|
|
>>> Control = Model.get('quality.control')
|
|
>>> Inspection = Model.get('quality.inspection')
|
|
|
|
Create control::
|
|
|
|
>>> control = Control(name="Test")
|
|
>>> point = control.points.new()
|
|
>>> point.string = "Boolean"
|
|
>>> point.type_ = 'boolean'
|
|
>>> point = control.points.new()
|
|
>>> point.string = "Float"
|
|
>>> point.type_ = 'float'
|
|
>>> point.tolerance_lower = 10
|
|
>>> point.tolerance_upper = 20
|
|
>>> control.save()
|
|
|
|
Create an inspection that passes::
|
|
|
|
>>> inspection = Inspection()
|
|
>>> inspection.control = control
|
|
>>> inspection.points
|
|
{'boolean': None, 'float': None}
|
|
>>> inspection.points = {'boolean': True, 'float': 15}
|
|
>>> inspection.click('process')
|
|
>>> inspection.state
|
|
'passed'
|
|
|
|
Create an inspection that fails::
|
|
|
|
>>> inspection = Inspection()
|
|
>>> inspection.control = control
|
|
>>> inspection.points = {'boolean': False, 'float': 15}
|
|
>>> inspection.click('process')
|
|
>>> inspection.state
|
|
'failed'
|
|
|
|
Create an inspection below the lower tolerance::
|
|
|
|
>>> inspection = Inspection()
|
|
>>> inspection.control = control
|
|
>>> inspection.points = {'boolean': True, 'float': 5}
|
|
>>> inspection.click('process')
|
|
>>> inspection.state
|
|
'failed'
|
|
|
|
Create an inspection above the upper tolerance::
|
|
|
|
>>> inspection = Inspection()
|
|
>>> inspection.control = control
|
|
>>> inspection.points = {'boolean': True, 'float': 25}
|
|
>>> inspection.click('process')
|
|
>>> inspection.state
|
|
'failed'
|
|
|
|
Create a partial inspection::
|
|
|
|
>>> inspection = Inspection()
|
|
>>> inspection.control = control
|
|
>>> inspection.points = {'boolean': True}
|
|
>>> inspection.click('process')
|
|
Traceback (most recent call last):
|
|
...
|
|
InspectionValidationError: ...
|
|
|
|
Pass a failed inspection::
|
|
|
|
>>> inspection = Inspection()
|
|
>>> inspection.control = control
|
|
>>> inspection.points = {'boolean': False, 'float': 15}
|
|
>>> inspection.click('process')
|
|
>>> inspection.state
|
|
'failed'
|
|
>>> inspection.click('pass_')
|
|
>>> inspection.state
|
|
'passed'
|
|
|
|
Its not possible to delete a passed inspection::
|
|
|
|
>>> inspection.delete()
|
|
Traceback (most recent call last):
|
|
...
|
|
AccessError: ...
|
|
|
|
Reset an inspection back to pending::
|
|
|
|
>>> inspection.click('pending')
|
|
>>> inspection.state
|
|
'pending'
|
|
|
|
It is possible to delete pending inspections::
|
|
|
|
>>> inspection.delete()
|