From 7162af93bdafe94f08e6806b5df6fda6160ef0d2 Mon Sep 17 00:00:00 2001 From: Romain Courteaud <romain@nexedi.com> Date: Wed, 7 Sep 2005 16:32:21 +0000 Subject: [PATCH] Added test for Setter. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@3752 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5/tests/testBase.py | 273 +++++++++++++++++++++++++++++++-- 1 file changed, 259 insertions(+), 14 deletions(-) diff --git a/product/ERP5/tests/testBase.py b/product/ERP5/tests/testBase.py index 1786ad8298..8ebd5fe30f 100755 --- a/product/ERP5/tests/testBase.py +++ b/product/ERP5/tests/testBase.py @@ -101,12 +101,17 @@ class TestBase(ERP5TypeTestCase): Light install create only base categories, so we create some categories for testing them """ - pass + category_list = ['testGroup1', 'testGroup2'] + if len(self.category_tool.group.contentValues()) == 0 : + for category_id in category_list: + o = self.category_tool.group.newContent(portal_type='Category', + id=category_id) def stepTic(self,**kw): self.tic() - def stepRemoveWorkflowsRelated(self, sequence=None, sequence_list=None, **kw): + def stepRemoveWorkflowsRelated(self, sequence=None, sequence_list=None, + **kw): """ Remove workflow related to the portal type """ @@ -131,7 +136,8 @@ class TestBase(ERP5TypeTestCase): object = module.newContent(portal_type=self.object_portal_type) sequence.edit( object=object, - current_title='' + current_title='', + current_group_value=None ) def stepCheckTitleValue(self, sequence=None, sequence_list=None, **kw): @@ -142,8 +148,8 @@ class TestBase(ERP5TypeTestCase): current_title = sequence.get('current_title') self.assertEquals(object.getTitle(), current_title) - def stepSetDifferentTitleValue(self, sequence=None, sequence_list=None, - **kw): + def stepSetDifferentTitleValueWithEdit(self, sequence=None, + sequence_list=None, **kw): """ Set a different title value """ @@ -172,7 +178,8 @@ class TestBase(ERP5TypeTestCase): self.failUnless(method_id in ["immediateReindexObject", "recursiveImmediateReindexObject"]) - def stepSetSameTitleValue(self, sequence=None, sequence_list=None, **kw): + def stepSetSameTitleValueWithEdit(self, sequence=None, sequence_list=None, + **kw): """ Set a different title value """ @@ -188,8 +195,8 @@ class TestBase(ERP5TypeTestCase): message_list = portal.portal_activities.getMessageList() self.assertEquals(len(message_list), 0) - def test_01_areActivitiesWellLaunchedBySetter(self, quiet=0, - run=run_all_test): + def test_01_areActivitiesWellLaunchedByPropertyEdit(self, quiet=0, + run=run_all_test): """ Test if setter does not call a activity if the attribute value is not changed. @@ -200,15 +207,16 @@ class TestBase(ERP5TypeTestCase): sequence_string = '\ RemoveWorkflowsRelated \ CreateObject \ + Tic \ CheckTitleValue \ - SetDifferentTitleValue \ + SetDifferentTitleValueWithEdit \ CheckIfActivitiesAreCreated \ CheckTitleValue \ Tic \ CheckIfMessageQueueIsEmpty \ - SetSameTitleValue \ + SetSameTitleValueWithEdit \ CheckIfMessageQueueIsEmpty \ - SetDifferentTitleValue \ + SetDifferentTitleValueWithEdit \ CheckIfActivitiesAreCreated \ CheckTitleValue \ Tic \ @@ -219,15 +227,16 @@ class TestBase(ERP5TypeTestCase): sequence_string = '\ AssociateWorkflows \ CreateObject \ + Tic \ CheckTitleValue \ - SetDifferentTitleValue \ + SetDifferentTitleValueWithEdit \ CheckIfActivitiesAreCreated \ CheckTitleValue \ Tic \ CheckIfMessageQueueIsEmpty \ - SetSameTitleValue \ + SetSameTitleValueWithEdit \ CheckIfMessageQueueIsEmpty \ - SetDifferentTitleValue \ + SetDifferentTitleValueWithEdit \ CheckIfActivitiesAreCreated \ CheckTitleValue \ Tic \ @@ -236,6 +245,242 @@ class TestBase(ERP5TypeTestCase): sequence_list.addSequenceString(sequence_string) sequence_list.play(self) + def stepCheckGroupValue(self, sequence=None, sequence_list=None, **kw): + """ + Check if getTitle return a correect value + """ + object = sequence.get('object') + current_group_value = sequence.get('current_group_value') + self.assertEquals(object.getGroupValue(), current_group_value) + + def stepSetDifferentGroupValueWithEdit(self, sequence=None, + sequence_list=None, **kw): + """ + Set a different title value + """ + object = sequence.get('object') + current_group_value = sequence.get('current_group_value') + group1 = object.portal_categories.restrictedTraverse('group/testGroup1') + group2 = object.portal_categories.restrictedTraverse('group/testGroup2') + if (current_group_value is None) or \ + (current_group_value == group2) : + new_group_value = group1 + else: + new_group_value = group2 +# new_group_value = '%s_a' % current_title + object.edit(group_value=new_group_value) + sequence.edit( + current_group_value=new_group_value + ) + + def stepSetSameGroupValueWithEdit(self, sequence=None, sequence_list=None, + **kw): + """ + Set a different title value + """ + object = sequence.get('object') + object.edit(group_value=object.getGroupValue()) + + + def test_02_areActivitiesWellLaunchedByCategoryEdit(self, quiet=0, + run=run_all_test): + """ + Test if setter does not call a activity if the attribute + value is not changed. + """ + if not run: return + sequence_list = SequenceList() + # Test without workflows associated to the portal type + sequence_string = '\ + RemoveWorkflowsRelated \ + CreateObject \ + Tic \ + CheckGroupValue \ + SetDifferentGroupValueWithEdit \ + CheckIfActivitiesAreCreated \ + CheckGroupValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + SetSameGroupValueWithEdit \ + CheckIfMessageQueueIsEmpty \ + SetDifferentGroupValueWithEdit \ + CheckIfActivitiesAreCreated \ + CheckGroupValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + ' + sequence_list.addSequenceString(sequence_string) + # Test with workflows associated to the portal type + sequence_string = '\ + AssociateWorkflows \ + CreateObject \ + Tic \ + CheckGroupValue \ + SetDifferentGroupValueWithEdit \ + CheckIfActivitiesAreCreated \ + CheckGroupValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + SetSameGroupValueWithEdit \ + CheckIfMessageQueueIsEmpty \ + SetDifferentGroupValueWithEdit \ + CheckIfActivitiesAreCreated \ + CheckGroupValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + ' + sequence_list.addSequenceString(sequence_string) + sequence_list.play(self) + + def stepSetDifferentTitleValueWithSetter(self, sequence=None, + sequence_list=None, **kw): + """ + Set a different title value + """ + object = sequence.get('object') + current_title = sequence.get('current_title') + new_title_value = '%s_a' % current_title + object.setTitle(new_title_value) + sequence.edit( + current_title=new_title_value + ) + + def stepSetSameTitleValueWithSetter(self, sequence=None, + sequence_list=None, **kw): + """ + Set a different title value + """ + object = sequence.get('object') + object.setTitle(object.getTitle()) + + def test_03_areActivitiesWellLaunchedByPropertySetter(self, quiet=0, + run=run_all_test): + """ + Test if setter does not call a activity if the attribute + value is not changed. + """ + if not run: return + sequence_list = SequenceList() + # Test without workflows associated to the portal type + sequence_string = '\ + RemoveWorkflowsRelated \ + CreateObject \ + Tic \ + CheckTitleValue \ + SetDifferentTitleValueWithSetter \ + CheckIfActivitiesAreCreated \ + CheckTitleValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + SetSameTitleValueWithSetter \ + CheckIfMessageQueueIsEmpty \ + SetDifferentTitleValueWithSetter \ + CheckIfActivitiesAreCreated \ + CheckTitleValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + ' + sequence_list.addSequenceString(sequence_string) + # Test with workflows associated to the portal type + sequence_string = '\ + AssociateWorkflows \ + CreateObject \ + Tic \ + CheckTitleValue \ + SetDifferentTitleValueWithSetter \ + CheckIfActivitiesAreCreated \ + CheckTitleValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + SetSameTitleValueWithSetter \ + CheckIfMessageQueueIsEmpty \ + SetDifferentTitleValueWithSetter \ + CheckIfActivitiesAreCreated \ + CheckTitleValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + ' + sequence_list.addSequenceString(sequence_string) + sequence_list.play(self) + + def stepSetDifferentGroupValueWithSetter(self, sequence=None, + sequence_list=None, **kw): + """ + Set a different title value + """ + object = sequence.get('object') + current_group_value = sequence.get('current_group_value') + group1 = object.portal_categories.restrictedTraverse('group/testGroup1') + group2 = object.portal_categories.restrictedTraverse('group/testGroup2') + if (current_group_value is None) or \ + (current_group_value == group2) : + new_group_value = group1 + else: + new_group_value = group2 +# new_group_value = '%s_a' % current_title + object.setGroupValue(new_group_value) + sequence.edit( + current_group_value=new_group_value + ) + + def stepSetSameGroupValueWithSetter(self, sequence=None, + sequence_list=None, **kw): + """ + Set a different title value + """ + object = sequence.get('object') + object.setGroupValue(object.getGroupValue()) + + def test_04_areActivitiesWellLaunchedByCategorySetter(self, quiet=0, + run=run_all_test): + """ + Test if setter does not call a activity if the attribute + value is not changed. + """ + if not run: return + sequence_list = SequenceList() + # Test without workflows associated to the portal type + sequence_string = '\ + RemoveWorkflowsRelated \ + CreateObject \ + Tic \ + CheckGroupValue \ + SetDifferentGroupValueWithSetter \ + CheckIfActivitiesAreCreated \ + CheckGroupValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + SetSameGroupValueWithSetter \ + CheckIfMessageQueueIsEmpty \ + SetDifferentGroupValueWithSetter \ + CheckIfActivitiesAreCreated \ + CheckGroupValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + ' + sequence_list.addSequenceString(sequence_string) + # Test with workflows associated to the portal type + sequence_string = '\ + AssociateWorkflows \ + CreateObject \ + Tic \ + CheckGroupValue \ + SetDifferentGroupValueWithSetter \ + CheckIfActivitiesAreCreated \ + CheckGroupValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + SetSameGroupValueWithSetter \ + CheckIfMessageQueueIsEmpty \ + SetDifferentGroupValueWithSetter \ + CheckIfActivitiesAreCreated \ + CheckGroupValue \ + Tic \ + CheckIfMessageQueueIsEmpty \ + ' + sequence_list.addSequenceString(sequence_string) + sequence_list.play(self) + if __name__ == '__main__': framework() else: -- 2.30.9