From 0e8d2b67023523bccebba05e86777cc5b4d37ee1 Mon Sep 17 00:00:00 2001 From: Romain Courteaud <romain@nexedi.com> Date: Tue, 23 Oct 2007 17:17:58 +0000 Subject: [PATCH] Check that simulation movement are not merged when building task report line. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17141 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testTask.py | 110 ++++++++++++++++++++++++++++----- 1 file changed, 93 insertions(+), 17 deletions(-) diff --git a/product/ERP5/tests/testTask.py b/product/ERP5/tests/testTask.py index f0b3562ac6..44d2114538 100644 --- a/product/ERP5/tests/testTask.py +++ b/product/ERP5/tests/testTask.py @@ -72,6 +72,7 @@ class TestTaskMixin: stepCreateSimpleTask \ stepFillTaskWithData \ stepCreateTaskLine \ + stepFillTaskLineWithData \ stepConfirmTask \ stepTic \ stepSetTaskReport ' @@ -170,33 +171,43 @@ class TestTaskMixin: task.edit( title = "Task", ) - sequence.edit(task = task) + sequence.edit(task=task) - def stepFillTaskWithData(self, sequence=None, sequence_list=None, **kw): + def stepSetTaskValues(self, sequence=None, sequence_list=None, **kw): """ - Fill created task with some necessary data. + Fill created task with some necessary data. """ task = sequence.get('task') project = sequence.get('project') - requirement = sequence.get('requirement') resource = sequence.get('resource_list')[0] organisation_list = sequence.get('organisation_list') organisation1 = organisation_list[0] organisation2 = organisation_list[1] task.edit(source_value=organisation1, source_section_value=organisation1, - destination_value=organisation1, + destination_value=organisation2, destination_section_value=organisation2, source_project_value=project, description=self.task_description % task.getId(), - task_line_resource_value = resource, - task_line_quantity = self.default_quantity, - task_line_price = self.default_price, - task_line_requirement_value = requirement, start_date = self.datetime + 10, stop_date = self.datetime + 20,) sequence.edit( task = task) + def stepFillTaskWithData(self, sequence=None, sequence_list=None, **kw): + """ + Fill created task with some necessary data. + """ + self.stepSetTaskValues(sequence=sequence, + sequence_list=sequence_list, **kw) + task = sequence.get('task') + resource = sequence.get('resource_list')[0] + requirement = sequence.get('requirement') + task.edit(task_line_resource_value = resource, + task_line_quantity = self.default_quantity, + task_line_price = self.default_price, + task_line_requirement_value = requirement, + ) + def stepCreateSimpleTaskReport(self,sequence=None, sequence_list=None, **kw): """ Create a task report. @@ -278,19 +289,24 @@ class TestTaskMixin: """ Create task line and fill with dummy data. """ - organisation = sequence.get('organisation_list')[0] - resource1 = sequence.get('resource_list')[1] - portal = self.getPortal() task = sequence.get('task') task_line = task.newContent( portal_type=self.task_line_portal_type, - title='New Task Line', + title='New Task Line') + sequence.edit(task_line=task_line) + + def stepFillTaskLineWithData(self, sequence=None, sequence_list=None, **kw): + """ + Fill task line with dummy data. + """ + organisation = sequence.get('organisation_list')[0] + resource1 = sequence.get('resource_list')[1] + task_line = sequence.get('task_line') + task_line.edit( source_value=organisation, - destination_value=organisation, resource_value=resource1, quantity=self.default_quantity, price=self.default_price) - sequence.edit(task_line=task_line) def stepVerifyGeneratedTaskReportLines(self, sequence=None, sequence_list=None, **kw): @@ -353,9 +369,41 @@ class TestTaskMixin: """ task = sequence.get('task') task_report = task.getCausalityRelatedValueList( - portal_type = 'Task Report')[0] - sequence.edit( task_report = task_report) + portal_type='Task Report')[0] + sequence.edit(task_report=task_report) + def stepVerifyMergedTaskLine(self, sequence=None, + sequence_list=None, **kw): + """ + Verify that simulation generated report is correct. + """ + task = sequence.get('task') + task_report = sequence.get('task_report') + self.assertEquals('confirmed', task_report.getSimulationState()) + self.assertEquals(task.getSource(), task_report.getSource()) + self.assertEquals(task.getSourceSection(), task_report.getSourceSection()) + self.assertEquals(task.getSourceProject(), task_report.getSourceProject()) + self.assertEquals(task.getDestination(), task_report.getDestination()) + self.assertEquals(task.getDestinationSection(), + task_report.getDestinationSection()) + self.assertEquals(task.getDestinationDecision(), + task_report.getDestinationDecision()) + self.assertEquals(task.getTitle(), + task_report.getTitle()) + self.assertEquals(task.getDescription(), + task_report.getDescription()) + self.assertEquals(task.getPredecessor(), task_report.getPredecessor()) + self.assertEquals(task.getDescription(), task_report.getDescription()) + self.assertEquals(len(task_report.contentValues()), 2) + for task_report_line in task_report.contentValues(): + self.assertEquals(task.contentValues()[0].getResource(), + task_report_line.getResource()) + self.assertEquals(task.contentValues()[0].getQuantity(), + task_report_line.getQuantity()) + self.assertEquals(task.contentValues()[0].getPrice(), + task_report_line.getPrice()) + self.assertEquals(task.contentValues()[0].getRequirement(), + task_report_line.getRequirement()) class TestTask(TestTaskMixin, ERP5TypeTestCase): """ @@ -428,6 +476,34 @@ class TestTask(TestTaskMixin, ERP5TypeTestCase): sequence_list.addSequenceString(sequence_string) sequence_list.play(self) + def test_04_checkNotMergedTaskReportLine(self, quiet=0, run=run_all_test): + """ + Check that a task report can not be the created from a merged of multiple + task lines. + """ + if not run: return + sequence_list = SequenceList() + sequence_string = 'stepCreateOrganisation \ + stepCreateOrganisation \ + stepCreateResource \ + stepCreateResource \ + stepCreateSimpleTask \ + stepSetTaskValues \ + stepCreateTaskLine \ + stepFillTaskLineWithData \ + stepCreateTaskLine \ + stepFillTaskLineWithData \ + stepConfirmTask \ + stepTic \ + stepSetTaskReport \ + stepVerifyMergedTaskLine \ + stepStartTaskReport \ + stepFinishTaskReport \ + stepCloseTaskReport \ + ' + sequence_list.addSequenceString(sequence_string) + sequence_list.play(self) + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestTask)) -- 2.30.9