Commit 2bada606 authored by Rafael Monnerat's avatar Rafael Monnerat

Apply fixes for some Functional Tests and Unit Tests (Merge rafael branch)

This merge include fixes for some functional tests and
testRunMyDocConfiguratorWorkflow.
parents 20f514cc e4f26588
......@@ -55,6 +55,8 @@
if kw.get(\'stat\'):\n
selection_params = context.portal_selections.getSelectionParamsFor(selection_name)\n
selection_domain = context.portal_selections.getSelectionDomainDictFor(selection_name)\n
if callable(selection_domain):\n
selection_domain = selection_domain()\n
selection_report = context.portal_selections.getSelectionReportDictFor(selection_name)\n
if selection_domain:\n
kwd[\'selection_domain\'] = selection_domain\n
......
......@@ -60,6 +60,8 @@ params[\'omit_asset_decrease\'] = omit_asset_decrease\n
params[\'omit_simulation\'] = True\n
\n
selection_domain = context.portal_selections.getSelectionDomainDictFor(selection_name)\n
if callable(selection_domain):\n
selection_domain = selection_domain()\n
selection_report = context.portal_selections.getSelectionReportDictFor(selection_name)\n
if selection_domain:\n
params[\'selection_domain\'] = selection_domain\n
......
1476
\ No newline at end of file
1477
\ No newline at end of file
......@@ -68,7 +68,7 @@ BEFORE for possible transitions was: Enter Number of User</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Your Organisation</string> </value>
<value> <string>Your organisation</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -69,7 +69,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Configuration of users</string> </value>
<value> <string>User accounts configuration</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -51,20 +51,20 @@
<item>
<key> <string>_body</string> </key>
<value> <string>""" This script reindex all the objects created before updating local roles """\n
module_list = [\'document\',\n
\'image\',\n
\'knowledge_pad\',\n
\'organisation\',\n
\'person\',\n
\'review\',\n
\'test_page\',\n
\'web_page\',\n
\'web_site\']\n
module_list = [\'document_module\',\n
\'image_module\',\n
\'knowledge_pad_module\',\n
\'organisation_module\',\n
\'person_module\',\n
\'review_module\',\n
\'test_page_module\',\n
\'web_page_module\',\n
\'web_site_module\']\n
\n
context.portal_types.recursiveImmediateReindexObject()\n
for module_content_name in module_list:\n
module_name = module_content_name + \'_module\'\n
module = context.restrictedTraverse(\'erp5/\' + module_name) \n
portal = context.getPortalObject()\n
for module_id in module_list:\n
module = getattr(portal, module_id)\n
module.recursiveImmediateReindexObject()\n
stack = [module]\n
for obj in stack:\n
......
......@@ -69,7 +69,7 @@ nter Number of User</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Your Organisation</string> </value>
<value> <string>Your organisation</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -69,7 +69,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Configuration of users</string> </value>
<value> <string>User accounts configuration</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -25,10 +25,12 @@
#
##############################################################################
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from Products.ERP5Type.tests.ERP5TypeTestCase import _getConversionServerDict
from Products.ERP5Type.tests.Sequence import SequenceList
from Products.ERP5Configurator.tests.ConfiguratorTestMixin import \
TestLiveConfiguratorWorkflowMixin
class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
class TestUNGConfiguratorWorkflowMixin(TestLiveConfiguratorWorkflowMixin):
"""
Test UNG Configuration Workflow Mixin.
"""
......@@ -104,20 +106,11 @@ class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
def getBusinessTemplateList(self):
return ('erp5_core_proxy_field_legacy',
'erp5_full_text_myisam_catalog',
'erp5_base',
'erp5_workflow',
'erp5_configurator',
'erp5_configurator_ung',)
def afterSetUp(self):
self.portal.portal_templates.updateRepositoryBusinessTemplateList(
['http://www.erp5.org/dists/snapshot/bt5/'])
preference = self.portal.portal_preferences.newContent(portal_type="System Preference")
preference.setTitle("global_system_preference")
preference.setPreferredOoodocServerAddress("localhost")
preference.setPreferredOoodocServerPortNumber(8011)
preference.enable()
'erp5_full_text_myisam_catalog',
'erp5_base',
'erp5_workflow',
'erp5_configurator',
'erp5_configurator_ung',)
def stepCreateBusinessConfiguration(self, sequence=None, sequence_list=None, **kw):
""" Create one Business Configuration """
......@@ -135,46 +128,6 @@ class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
self.setBusinessConfigurationWorkflow(business_configuration,
"workflow_module/ung_configuration_workflow")
def assertCurrentStep(self, step_title, server_response):
""" Checks the current step title. """
self.assertTrue(
'<h2>%s</h2>' % step_title in server_response['data'],
'Unable to guess current step title (expected:%s) in: \n%s' %
(step_title, server_response))
def stepConfiguratorNext(self, sequence=None, sequence_list=None, **kw):
""" Go Next into Configuration """
business_configuration = sequence.get("business_configuration")
next_dict = sequence.get("next_dict")
response_dict = self.portal.portal_configurator._next(
business_configuration, next_dict)
sequence.edit(response_dict=response_dict)
def setBusinessConfigurationWorkflow(self, business_configuration, workflow):
""" Set configurator workflow """
business_configuration.setResource(workflow)
def stepCheckBT5ConfiguratorItem(self, sequence=None, sequence_list=None, **kw):
""" Check if the Configuration Item list is correct """
business_configuration = sequence.get("business_configuration")
# second one: install some standard business templates
standard_bt5_config_save = business_configuration['1']
self.assertEquals(len(self.standard_bt5_list),
len(standard_bt5_config_save.contentValues(
portal_type='Standard BT5 Configurator Item')))
self.assertEquals(
set(self.standard_bt5_list),
set([x.bt5_id for x in standard_bt5_config_save.contentValues()]))
def stepCheckConfigureOrganisationForm(self, sequence=None, sequence_list=None, **kw):
""" Check if Confire Configure step was showed """
response_dict = sequence.get("response_dict")
if 'command' in response_dict:
self.assertEquals('show', response_dict['command'])
self.assertEquals(None, response_dict['previous'])
self.assertEquals('Configure Organisation', response_dict['next'])
self.assertCurrentStep('Your Organisation', response_dict)
def stepSetupOrganisationConfiguratorItem(self, sequence=None, sequence_list=None, **kw):
""" Create one Organisation with Basic information """
next_dict = dict(
......@@ -185,14 +138,6 @@ class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
field_your_default_address_zip_code='59000')
sequence.edit(next_dict=next_dict)
def stepCheckConfigureUserAccountNumberForm(self, sequence=None, sequence_list=None, **kw):
""" """
response_dict = sequence.get("response_dict")
if 'command' in response_dict:
self.assertEquals('show', response_dict['command'])
self.assertEquals('Configure user accounts number', response_dict['next'])
self.assertEquals('Previous', response_dict['previous'])
self.assertCurrentStep('Number of user accounts', response_dict)
def stepCheckOrganisationConfiguratorItem(self, sequence=None, sequence_list=None, **kw):
""" Check if organisation was created fine """
......@@ -212,15 +157,6 @@ class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
next_dict = dict(field_your_user_number="3")
sequence.edit(next_dict=next_dict)
def stepCheckConfigureMultipleUserAccountForm(self, sequence=None, sequence_list=None, **kw):
""" Check the multiple user account form """
response_dict = sequence.get("response_dict")
if 'command' in response_dict:
self.assertEquals('show', response_dict['command'])
self.assertEquals('Previous', response_dict['previous'])
self.assertEquals('Configure user accounts', response_dict['next'])
self.assertCurrentStep('Configuration of users', response_dict)
def _stepSetupMultipleUserAccountThree(self, sequence, user_list):
""" Generic step to create multiple user account """
next_dict = {}
......@@ -230,7 +166,7 @@ class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
sequence.edit(next_dict=next_dict)
def stepCheckConfigurePreferenceForm(self, sequence=None, sequence_list=None, **kw):
""" Check the multiple user account form """
""" Check the preference form """
response_dict = sequence.get("response_dict")
if 'command' in response_dict:
self.assertEquals('show', response_dict['command'])
......@@ -254,13 +190,6 @@ class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
default_field_your_lang=1)
sequence.edit(next_dict=next_dict)
def stepCheckConfigureWebSiteForm(self, sequence=None, sequence_list=None, **kw):
""" Check the installation form """
response_dict = sequence.get("response_dict")
self.assertEquals('show', response_dict['command'])
self.assertEquals('Previous', response_dict['previous'])
self.assertEquals('Install', response_dict['next'])
def stepCheckMultipleUserAccountThreeBrazil(self, sequence=None, sequence_list=None, **kw):
""" Check if the users were created correctly """
business_configuration = sequence.get("business_configuration")
......@@ -288,26 +217,14 @@ class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
response_dict = sequence.get("response_dict")
self.assertEquals('show', response_dict['command'])
def stepSetupInstallConfiguration(self, sequence=None, sequence_list=None, **kw):
""" Install the Configuration """
sequence.edit(next_dict={})
def stepCheckInstallConfiguration(self, sequence=None, sequence_list=None, **kw):
""" Check the installation of the configuration """
response_dict = sequence.get("response_dict")
self.assertEquals('install', response_dict['command'])
def stepStartConfigurationInstallation(self, sequence=None, sequence_list=None, **kw):
""" Starts the installation """
business_configuration = sequence.get("business_configuration")
self.portal.portal_configurator.startInstallation(
business_configuration, REQUEST=self.portal.REQUEST)
def stepCheckSystemPreferenceAfterInstallation(self, sequence=None, sequence_list=None, **kw):
""" Check System Preference"""
system_preference = self.portal.portal_catalog.getResultValue(portal_type="System Preference")
self.assertEquals(system_preference.getPreferredOoodocServerPortNumber(), 8011)
self.assertEquals(system_preference.getPreferredOoodocServerAddress(), "localhost")
conversion_dict = _getConversionServerDict()
self.assertEquals(system_preference.getPreferredOoodocServerPortNumber(),
conversion_dict['port'])
self.assertEquals(system_preference.getPreferredOoodocServerAddress(),
conversion_dict['hostname'])
def stepCheckUserPreferenceAfterInstallation(self, sequence=None, sequence_list=None, **kw):
""" Check System Preference"""
......@@ -321,8 +238,8 @@ class TestUNGConfiguratorWorkflowMixin(ERP5TypeTestCase):
preference = portal_catalog.getResultValue(portal_type="Preference",
title='Preference for Person Creator')
self.assertEquals(preference.getPreferenceState(), "enabled")
ung_preference = self.portal.portal_preferences.ung_preference
self.assertEquals(ung_preference.getPreferenceState(), "global")
preference = self.portal.portal_preferences.ung_preference
self.assertEquals(preference.getPreferenceState(), "global")
def _stepCheckWebSiteRoles(self):
""" Check permission of Web Site with normal user """
......
......@@ -180,16 +180,14 @@
<td></td>\n
</tr>\n
<tr>\n
<td>assertPortalStatusMessage</td>\n
<td>assertText</td>\n
<td>//div[@class="status"]/div[@class="transition_message"]</td>\n
<td>Data updated.</td>\n
<td></td>\n
</tr>\n
\n
</tbody></table>\n
</body>\n
</html>\n
\n
</html>
]]></unicode> </value>
</item>
......
......@@ -206,7 +206,7 @@
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>[\'c\', \'three\']</td>\n
<td>[\'c\', \'four\']</td>\n
<td></td>\n
</tr>\n
<tr>\n
......@@ -216,7 +216,7 @@
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>[\'c\', \'four\']</td>\n
<td>[\'c\', \'three\']</td>\n
<td></td>\n
</tr>\n
\n
......@@ -248,8 +248,7 @@ The field must be in the \'bottom\' group for this to work.\n
</tbody>\n
</table>\n
</body>\n
</html>\n
</html>
]]></unicode> </value>
</item>
......
......@@ -179,17 +179,17 @@
<tr>\n
<td>verifyElementPositionTop</td>\n
<td>id=group_1_activity_1_block_1</td>\n
<td>250</td>\n
<td>251</td>\n
</tr>\n
<tr>\n
<td>verifyElementPositionTop</td>\n
<td>id=group_2_activity_1_block_1</td>\n
<td>330</td>\n
<td>331</td>\n
</tr>\n
<tr>\n
<td>verifyElementPositionTop</td>\n
<td>id=group_3_activity_1_block_1</td>\n
<td>410</td>\n
<td>411</td>\n
</tr>\n
<tr>\n
<td>verifyElementWidth</td>\n
......@@ -225,9 +225,7 @@
\n
</tbody></table>\n
</body>\n
</html>\n
\n
</html>
]]></unicode> </value>
</item>
......
683
685
\ No newline at end of file
......@@ -133,13 +133,26 @@ class TestLiveConfiguratorWorkflowMixin(SecurityTestCase):
# it is required by SecurityTestCase
self.workflow_tool = self.portal.portal_workflow
self.setDefaultSitePreference()
self.setSystemPreference()
self.portal.portal_activities.unsubscribe()
def setSystemPreference(self):
portal_type = 'System Preference'
preference_list = self.portal.portal_preferences.contentValues(
portal_type=portal_type)
if not preference_list:
preference = self.portal.portal_preferences.newContent(
portal_type=portal_type)
else:
preference = preference_list[0]
conversion_dict = _getConversionServerDict()
preference.setPreferredOoodocServerAddress(conversion_dict['hostname'])
preference.setPreferredOoodocServerPortNumber(conversion_dict['port'])
if self.portal.portal_workflow.isTransitionPossible(preference, 'enable'):
preference.enable()
def setDefaultSitePreference(self):
default_pref = self.portal.portal_preferences.default_site_preference
conversion_dict = _getConversionServerDict()
default_pref.setPreferredOoodocServerAddress(conversion_dict['hostname'])
default_pref.setPreferredOoodocServerPortNumber(conversion_dict['port'])
if self.portal.portal_workflow.isTransitionPossible(default_pref, 'enable'):
default_pref.enable()
return default_pref
......@@ -172,7 +185,7 @@ class TestLiveConfiguratorWorkflowMixin(SecurityTestCase):
response_dict = self.portal.portal_configurator._next(
business_configuration, next_dict)
sequence.edit(response_dict=response_dict)
def stepConfiguratorPrevious(self, sequence=None, sequence_list=None, **kw):
""" Go to the previous form. """
business_configuration = sequence.get("business_configuration")
......@@ -477,8 +490,7 @@ class TestLiveConfiguratorWorkflowMixin(SecurityTestCase):
def stepSetupInstallConfiguration(self, sequence=None, sequence_list=None, **kw):
""" Install the Configuration """
next_dict = {}
sequence.edit(next_dict=next_dict)
sequence.edit(next_dict={})
def stepCheckInstallConfiguration(self, sequence=None, sequence_list=None, **kw):
""" Check the installation of the configuration """
......
......@@ -45,6 +45,7 @@ ERP5TYPE_SECURITY_GROUP_ID_GENERATION_SCRIPT = 'ERP5Type_asSecurityGroupId'
from TranslationProviderBase import TranslationProviderBase
from sys import exc_info
from types import StringType
from zLOG import LOG, ERROR
from Products.CMFCore.exceptions import zExceptions_Unauthorized
......@@ -521,10 +522,20 @@ class ERP5TypeInformation(XMLObject,
ob = self.constructTempInstance(self, self.getId())
property_list = list(getattr(ob.__class__, '_properties', []))
self.updatePropertySheetDefinitionDict({'_properties': property_list})
for property_sheet in getClassPropertyList(ob.__class__):
property_list += getattr(property_sheet, '_properties', () )
return_set = set()
class_property_list = list(getClassPropertyList(ob.__class__))
for property_sheet in ob.getTypePropertySheetList():
if property_sheet not in class_property_list:
class_property_list.append(property_sheet)
for property_sheet in iter(class_property_list):
property_sheet_tool = self.getPortalObject().portal_property_sheets
if type(property_sheet) == StringType:
property_sheet_obj = property_sheet_tool[property_sheet]
for property in property_sheet_obj.contentValues():
return_set.add(property.getTitle())
else:
property_list += getattr(property_sheet, '_properties', () )
for property in property_list:
if property['type'] == 'content':
for suffix in property['acquired_property_id']:
......
......@@ -3093,6 +3093,17 @@ class TestERP5Type(PropertySheetTestCase, LogInterceptor):
self.assertEquals(None, person.getProperty('foo_property'))
self.assertEquals(None, person.getProperty('foobar_property'))
def testgetInstancePropertyAndBaseCategoryList(self):
"""
Check that the method getInstancePropertyAndBaseCategoryList return
properties from property sheets correctly
"""
portal_type = self.portal.portal_types.Email
result_list = portal_type.getInstancePropertyAndBaseCategoryList()
self.assertTrue("description" in result_list,
"description not in %s" % result_list)
class TestAccessControl(ERP5TypeTestCase):
# Isolate test in a dedicaced class in order not to break other tests
# when this one fails.
......
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