[Erp5-report] r38780 fabien - in /experimental/bt5/erp5_credential: TestTemplateItem/ bt/
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Sep 30 10:29:00 CEST 2010
Author: fabien
Date: Thu Sep 30 10:28:58 2010
New Revision: 38780
URL: http://svn.erp5.org?rev=38780&view=rev
Log:
automatic workflow is now included by default on credential portal_types as it
need preferences to be checked to have the automatic transition. Adapt the test
to fit this.
minor changes due to the portal_status message changes
don't check that Credential Request creation redirect to login form because in
the normal erp5 usage (not web mode) we don't want this behavior
Modified:
experimental/bt5/erp5_credential/TestTemplateItem/testERP5Credential.py
experimental/bt5/erp5_credential/bt/revision
Modified: experimental/bt5/erp5_credential/TestTemplateItem/testERP5Credential.py
URL: http://svn.erp5.org/experimental/bt5/erp5_credential/TestTemplateItem/testERP5Credential.py?rev=38780&r1=38779&r2=38780&view=diff
==============================================================================
--- experimental/bt5/erp5_credential/TestTemplateItem/testERP5Credential.py [utf8] (original)
+++ experimental/bt5/erp5_credential/TestTemplateItem/testERP5Credential.py [utf8] Thu Sep 30 10:28:58 2010
@@ -96,7 +96,8 @@ class TestERP5Credential(ERP5TypeTestCas
)
def beforeTearDown(self):
- self._removeAutomaticWorkflow()
+ self.login()
+ transaction.abort()
# clear modules if necessary
module_list = (self.portal.getDefaultModule('Credential Request'),
self.portal.getDefaultModule('Credential Update'),
@@ -104,8 +105,42 @@ class TestERP5Credential(ERP5TypeTestCas
self.portal.getDefaultModule('Person'))
for module in module_list:
module.manage_delObjects(list(module.objectIds()))
+ self._disablePreference()
transaction.commit()
self.tic()
+ self.logout()
+
+ def _getPreference(self):
+ portal_preferences = self.getPreferenceTool()
+ preference = getattr(portal_preferences, 'test_site_preference', None)
+ if preference is None:
+ preference = portal_preferences.newContent(portal_type='System Preference',
+ title='Default Site Preference',
+ id='test_site_preference')
+ return preference
+
+ def _enablePreference(self):
+ preference = self._getPreference()
+ if preference.getPreferenceState() == 'disabled':
+ preference.enable()
+
+ def _disablePreference(self):
+ preference = self._getPreference()
+ if preference.getPreferenceState() in ('enable', 'global'):
+ preference.disable()
+
+ def stepSetAutomaticApprovalPreferences(self, sequence=None,
+ sequence_list=None, **kw):
+ self.login()
+ preference = self._getPreference()
+ preference.setPreferredCredentialRequestAutomaticApproval(True)
+ preference.setPreferredOrganisationCredentialUpdateAutomaticApproval(True)
+ preference.setPreferredCredentialRecoveryAutomaticApproval(True)
+ preference.setPreferredPersonCredentialUpdateAutomaticApproval(True)
+ self._enablePreference()
+ transaction.commit()
+ self.tic()
+ self.logout()
def getUserFolder(self):
"""Returns the acl_users. """
@@ -143,40 +178,6 @@ class TestERP5Credential(ERP5TypeTestCas
"Plugin %s should not have authenticated '%s' with password '%s'" %
(plugin_name, login, password))
- def _setAutomaticWorkflowOnPortalTypeList(self, portal_type_list):
- '''
- set the workflow credential_automatic_accept_interraction_workflow on
- all portal_types parameters
- '''
- if not isinstance(portal_type_list, list):
- portal_type_list = [portal_type_list]
- for portal_type in portal_type_list:
- pw = self.getWorkflowTool()
- workflow_id = 'credential_automatic_accept_interraction_workflow'
- cbt = pw._chains_by_type
- props = {}
- for id, wf_ids in cbt.iteritems():
- if id == portal_type:
- wf_ids = list(wf_ids) + [workflow_id]
- props['chain_%s' % id] = ','.join(wf_ids)
- pw.manage_changeWorkflows('', props = props)
-
- def _removeAutomaticWorkflow(self):
- '''
- by default, the automatic workflow is not defined on any portal_type.
- (should be define in project specific bt). The methode remove it.
- '''
- pw = self.getWorkflowTool()
- workflow_id = 'credential_automatic_accept_interraction_workflow'
- cbt = pw._chains_by_type
- props = {}
- for id, wf_ids in cbt.iteritems():
- if workflow_id in wf_ids:
- wf_ids = list(wf_ids)
- wf_ids.remove(workflow_id)
- props['chain_%s' % id] = ','.join(wf_ids)
- pw.manage_changeWorkflows('', props = props)
-
def stepCreateSimpleSubscriptionRequest(self, sequence=None, sequence_list=None,
**kw):
'''
@@ -198,12 +199,9 @@ class TestERP5Credential(ERP5TypeTestCas
password='secret',
default_email_text='homer.simpson at fox.com'
)
- self.assertTrue('portal_status_message=Credential%20Request%20Created.' in result)
- # check it returned to login_form
- self.assertTrue('login_form' in result)
+ self.assertTrue('portal_status_message=A%20new%20credential%20request%20'\
+ 'has%20been%20created.' in result)
- transaction.commit()
- self.tic()
credential_request_module = self.portal.getDefaultModule('Credential Request')
result = credential_request_module.contentValues(\
portal_type='Credential Request', first_name='Homer',
@@ -244,7 +242,8 @@ class TestERP5Credential(ERP5TypeTestCas
password='new_password',
default_email_text='homie.simpsons at fox.com'
)
- self.assertTrue('portal_status_message=Credential%20Update%20Created.' in result)
+ self.assertTrue('portal_status_message=A%20new%20credential%20request%20'\
+ 'has%20been%20created.' in result)
credential_request_module = self.portal.getDefaultModule('Credential Update')
result = credential_request_module.contentValues(\
portal_type='Credential Update', first_name='Homie',
@@ -286,14 +285,6 @@ class TestERP5Credential(ERP5TypeTestCas
self.assertEquals(related_person.getDefaultEmailText(),
'homie.simpsons at fox.com')
- def stepSetAutomaticWorkflowOnCredentialRequest(self, sequence=None,
- sequence_list=None, **kw):
- self._setAutomaticWorkflowOnPortalTypeList('Credential Request')
-
- def stepSetAutomaticWorkflowOnCredentialUpdate(self, sequence=None,
- sequence_list=None, **kw):
- self._setAutomaticWorkflowOnPortalTypeList('Credential Update')
-
def stepCreateSubscriptionRequestWithSecurityQuestionCategory(self, sequence=None,
sequence_list=None, **kw):
request = self.portal.REQUEST
@@ -312,9 +303,8 @@ class TestERP5Credential(ERP5TypeTestCas
default_credential_question_question='credential/library_card_number',
default_credential_question_answer='923R4293'
)
- self.assertTrue('portal_status_message=Credential%20Request%20Created.' in result)
- # check it returned to login_form
- self.assertTrue('login_form' in result)
+ self.assertTrue('portal_status_message=A%20new%20credential%20request%20'\
+ 'has%20been%20created.' in result)
transaction.commit()
self.tic()
@@ -355,9 +345,8 @@ class TestERP5Credential(ERP5TypeTestCas
'car model do you have ?',
default_credential_question_answer='Renault 4L'
)
- self.assertTrue('portal_status_message=Credential%20Request%20Created.' in result)
- # check it returned to login_form
- self.assertTrue('login_form' in result)
+ self.assertTrue('portal_status_message=A%20new%20credential%20request%20'\
+ 'has%20been%20created.' in result)
transaction.commit()
self.tic()
@@ -395,9 +384,9 @@ class TestERP5Credential(ERP5TypeTestCas
log in the system.
'''
sequence_list = SequenceList()
- sequence_string = 'CreateSimpleSubscriptionRequest '\
+ sequence_string = 'CreateSimpleSubscriptionRequest Tic '\
'AcceptSubscriptionRequest Tic '\
- 'CheckAccountIsCreated '\
+ 'CheckAccountIsCreated Tic '\
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self)
@@ -426,7 +415,7 @@ class TestERP5Credential(ERP5TypeTestCas
intervention
'''
sequence_list = SequenceList()
- sequence_string = 'SetAutomaticWorkflowOnCredentialRequest '\
+ sequence_string = 'SetAutomaticApprovalPreferences '\
'CreateSimpleSubscriptionRequest Tic '\
'CheckAccountIsCreated '\
@@ -441,7 +430,7 @@ class TestERP5Credential(ERP5TypeTestCas
intervention
'''
sequence_list = SequenceList()
- sequence_string = 'SetAutomaticWorkflowOnCredentialUpdate '\
+ sequence_string = 'SetAutomaticApprovalPreferences '\
'CreateSimpleSubscriptionRequest '\
'AcceptSubscriptionRequest Tic '\
'CreateCredentialUpdate Tic '\
Modified: experimental/bt5/erp5_credential/bt/revision
URL: http://svn.erp5.org/experimental/bt5/erp5_credential/bt/revision?rev=38780&r1=38779&r2=38780&view=diff
==============================================================================
--- experimental/bt5/erp5_credential/bt/revision [utf8] (original)
+++ experimental/bt5/erp5_credential/bt/revision [utf8] Thu Sep 30 10:28:58 2010
@@ -1 +1 @@
-222
\ No newline at end of file
+223
More information about the Erp5-report
mailing list