Files
tradon/modules/quality/tests/scenario_quality_inspection.rst
2026-03-14 09:42:12 +00:00

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()