Commit 3e601777 authored by Romain Courteaud's avatar Romain Courteaud

Add tests which check Task and Task Report behaviour.

Thanks to Mikolaj Antoszkiewicz.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17024 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 37e89022
This diff is collapsed.
##############################################################################
#
# Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.
# Mikolaj Antoszkiewicz <mikolaj@erp5.pl>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import unittest
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from zLOG import LOG
from Products.ERP5Type.tests.Sequence import SequenceList
from testTask import TestTaskMixin
class TestTaskReportDivergenceMixin(TestTaskMixin):
"""
Test business template erp5_project
"""
def getTitle(self):
return "Task Report Divergence"
def stepCheckTaskReportIsCalculating(self, sequence=None, sequence_list=None, **kw):
"""
Test if task report is calculating
"""
task_report = sequence.get('task_report')
self.assertEquals('calculating', task_report.getCausalityState())
def stepCheckTaskReportIsDiverged(self, sequence=None, sequence_list=None, **kw):
"""
Test if task report is in diverged state
"""
task_report = sequence.get('task_report')
self.assertEquals('diverged', task_report.getCausalityState())
def stepCheckTaskReportIsSolved(self, sequence=None, sequence_list=None, **kw):
"""
Test if task report is in solved state
"""
task_report = sequence.get('task_report')
self.assertEquals('solved', task_report.getCausalityState())
def stepChangeTaskReportLineQuantity(self, sequence=None,
sequence_list=None, **kw):
"""
Set a decreased quantity on task report lines.
"""
task_report = sequence.get('task_report')
quantity = sequence.get('line_quantity',default=self.default_quantity)
quantity = quantity - 1
sequence.edit(line_quantity=quantity)
for task_report_line in task_report.objectValues(
portal_type=self.task_report_line_portal_type):
task_report_line.edit(quantity=quantity)
sequence.edit(last_delta = sequence.get('last_delta', 0.0) - 1.0)
def stepChangeTaskReportDestination(self, sequence=None,
sequence_list=None, **kw):
"""
Set diffrent destination organisation on task report.
"""
organisation3 = sequence.get('organisation_list')[2]
task_report = sequence.get('task_report')
task_report.edit(destination_value = organisation3)
def stepChangeTaskReportStartDate(self, sequence=None,
sequence_list=None, **kw):
"""
Change the start_date of the task_report.
"""
task_report = sequence.get('task_report')
task_report.edit(start_date=self.datetime + 15)
class TestTaskReportDivergence(TestTaskReportDivergenceMixin, ERP5TypeTestCase) :
run_all_test = 1
quiet = 0
def enableLightInstall(self):
"""
You can override this.
Return if we should do a light install (1) or not (0)
"""
return 1
def enableActivityTool(self):
"""
You can override this.
Return if we should create (1) or not (0) an activity tool.
"""
return 1
def test_01_TestReportLineChangeQuantity(self, quiet=quiet, run=run_all_test):
"""
Change the quantity on an delivery line, then
see if the task report is divergent
"""
if not run: return
sequence_list = SequenceList()
sequence_string = self.default_task_sequence + '\
stepCheckTaskReportIsSolved \
stepChangeTaskReportLineQuantity \
stepCheckTaskReportIsCalculating \
stepTic \
stepCheckTaskReportIsDiverged \
'
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
def test_02_TestReportListChangeDestination(self, quiet=quiet, run=run_all_test):
"""
Test generation of delivery list
"""
if not run: return
sequence_list = SequenceList()
# Test with a simply order without cell
sequence_string = 'stepCreateOrganisation ' + \
self.default_task_sequence + '\
stepCheckTaskReportIsSolved \
stepChangeTaskReportDestination \
stepCheckTaskReportIsCalculating \
stepTic \
stepCheckTaskReportIsDiverged \
'
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
def test_03_TaskReportChangeStartDate(self, quiet=quiet, run=run_all_test):
"""
Test generation of delivery list
"""
if not run: return
sequence_list = SequenceList()
# Test with a simply order without cell
sequence_string = self.default_task_sequence + '\
stepCheckTaskReportIsSolved \
stepChangeTaskReportStartDate \
stepCheckTaskReportIsCalculating \
stepTic \
stepCheckTaskReportIsDiverged \
'
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestTaskReportDivergence))
return suite
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment