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