[Erp5-report] r36213 romain - /erp5/trunk/products/ERP5/tests/testTaskReportDivergence.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jun 10 13:32:33 CEST 2010


Author: romain
Date: Thu Jun 10 13:32:08 2010
New Revision: 36213

URL: http://svn.erp5.org?rev=36213&view=rev
Log:
Check that it is possible to solve date's divergence on the task report line level.

Modified:
    erp5/trunk/products/ERP5/tests/testTaskReportDivergence.py

Modified: erp5/trunk/products/ERP5/tests/testTaskReportDivergence.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testTaskReportDivergence.py?rev=36213&r1=36212&r2=36213&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testTaskReportDivergence.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testTaskReportDivergence.py [utf8] Thu Jun 10 13:32:08 2010
@@ -31,6 +31,7 @@ import unittest
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
 from Products.ERP5Type.tests.Sequence import SequenceList
 from testTask import TestTaskMixin
+from Products.ERP5Type.tests.backportUnittest import expectedFailure
 
 class TestTaskReportDivergenceMixin(TestTaskMixin):
   """
@@ -220,7 +221,103 @@ class TestTaskReportDivergence(TestTaskR
 
     sequence_list.play(self, quiet=quiet)
 
-    
+  def stepCloneTaskReportLine(self, sequence=None, **kw):
+    """
+    Create a second task report line by cloning the existing one.
+    """
+    task_report = sequence.get('task_report')
+    task_report.contentValues()[0].Base_createCloneDocument(batch_mode=1)
+
+  def stepChangeFirstTaskReportLineDate(self, sequence=None, **kw):
+    """
+    Change the start and stop dates on the first task report line.
+    """
+    task_report = sequence.get('task_report')
+    task_line = task_report.contentValues()[0]
+    task_line.edit(
+        start_date=task_line.getStartDate()+1,
+        stop_date=task_line.getStopDate()+1,
+        )
+    sequence.edit(
+        task_report_start_date=task_report.getStartDate(),
+        task_report_stop_date=task_report.getStopDate(),
+        task_report_line_1_start_date=task_line.getStartDate(),
+        task_report_line_1_stop_date=task_line.getStopDate(),
+        )
+
+  def stepChangeSecondTaskReportLineDate(self, sequence=None, **kw):
+    """
+    Change the start and stop dates on the second task report line.
+    """
+    task_report = sequence.get('task_report')
+    task_line = task_report.contentValues()[1]
+    task_line.edit(
+        start_date=task_line.getStartDate()+2,
+        stop_date=task_line.getStopDate()+2,
+        )
+    sequence.edit(
+        task_report_line_2_start_date=task_line.getStartDate(),
+        task_report_line_2_stop_date=task_line.getStopDate(),
+        )
+
+  def stepAcceptLineDateDecision(self, sequence=None, **kw):
+    """
+    Use the divergence API to adopt the decision.
+    """
+    task_report = sequence.get('task_report')
+    # XXX Check task report solver proposition in UI
+
+  def stepCheckTaskReportDates(self, sequence=None, **kw):
+    """
+    Check that the task report and task report lines's dates were not modified
+    by the divergence solving process.
+    """
+    task_report = sequence.get('task_report')
+    task_line_1 = task_report.contentValues()[0]
+    task_line_2 = task_report.contentValues()[1]
+    self.assertEquals(
+        sequence.get('task_report_start_date'), task_report.getStartDate())
+    self.assertEquals(
+        sequence.get('task_report_stop_date'), task_report.getStopDate())
+    self.assertEquals(
+        sequence.get('task_report_line_1_start_date'), task_line_1.getStartDate())
+    self.assertEquals(
+        sequence.get('task_report_line_1_stop_date'), task_line_1.getStopDate())
+    self.assertEquals(
+        sequence.get('task_report_line_2_start_date'), task_line_2.getStartDate())
+    self.assertEquals(
+        sequence.get('task_report_line_2_stop_date'), task_line_2.getStopDate())
+
+  @expectedFailure
+  def test_04_TaskReportChangeStartDate(self, quiet=quiet, run=run_all_test):
+    """
+    Check that it is possible to solve date's divergence on the task report 
+    line level.
+    """
+    if not run: return
+    sequence_list = SequenceList()
+
+    # Test with a simply order without cell
+    sequence_string = '\
+                      stepSetStrictSecurity \
+                      ' + self.default_task_sequence + '\
+                      stepCheckTaskReportIsSolved \
+                      \
+                      stepCloneTaskReportLine \
+                      stepChangeFirstTaskReportLineDate \
+                      stepChangeSecondTaskReportLineDate \
+                      stepCheckTaskReportIsCalculating \
+                      stepTic \
+                      stepCheckTaskReportIsDiverged \
+                      stepAcceptLineDateDecision \
+                      stepTic \
+                      stepCheckTaskReportIsSolved \
+                      stepCheckTaskReportDates \
+                      '
+    sequence_list.addSequenceString(sequence_string)
+
+    sequence_list.play(self, quiet=quiet)
+
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestTaskReportDivergence))




More information about the Erp5-report mailing list