[Erp5-report] r9723 - in /erp5/trunk/products/ERP5: Document/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Sep 6 19:01:14 CEST 2006
Author: seb
Date: Wed Sep 6 19:01:12 2006
New Revision: 9723
URL: http://svn.erp5.org?rev=9723&view=rev
Log:
make sure that if we give a list of object to update, then we will not erase other objects
Modified:
erp5/trunk/products/ERP5/Document/BusinessTemplate.py
erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
Modified: erp5/trunk/products/ERP5/Document/BusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BusinessTemplate.py?rev=9723&r1=9722&r2=9723&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py Wed Sep 6 19:01:12 2006
@@ -3943,11 +3943,15 @@
return modified_object_list
- def _install(self, force=1, object_to_update={}, **kw):
+ def _install(self, force=1, object_to_update=None, **kw):
"""
Install a new Business Template, if force, all will be upgraded or installed
otherwise depends of dict object_to_update
"""
+ if object_to_update is not None:
+ force=0
+ else:
+ object_to_update = {}
installed_bt = self.portal_templates.getInstalledBusinessTemplate(
self.getTitle())
Modified: erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBusinessTemplate.py?rev=9723&r1=9722&r2=9723&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py Wed Sep 6 19:01:12 2006
@@ -972,6 +972,46 @@
catalog.filter_dict[method_id]['expression_instance'] = expr_instance
catalog.filter_dict[method_id]['type'] = []
+ def stepCreateNewCatalogMethod(self, sequence=None, sequence_list=None, **kw):
+ """
+ Create ZSQL Method into catalog
+ """
+ pc = self.getCatalogTool()
+ catalog = pc._getOb('erp5_mysql', None)
+ method_id = "z_another_fake_method"
+ addSQLMethod =catalog.manage_addProduct['ZSQLMethods'].manage_addZSQLMethod
+ addSQLMethod(id=method_id,title='', connection_id='test test', arguments='', template='')
+ zsql_method = catalog._getOb(method_id, None)
+ self.failUnless(zsql_method is not None)
+ sequence.edit(another_zsql_method_id = method_id)
+ # set this method in update_object properties of catalog
+ sql_uncatalog_object = list(catalog.sql_uncatalog_object)
+ sql_uncatalog_object.append(method_id)
+ sql_uncatalog_object.sort()
+ catalog.sql_uncatalog_object = tuple(sql_uncatalog_object)
+
+ def stepChangePreviousCatalogMethod(self, sequence=None, sequence_list=None, **kw):
+ """
+ Create ZSQL Method into catalog
+ """
+ pc = self.getCatalogTool()
+ catalog = pc._getOb('erp5_mysql', None)
+ method_id = sequence.get('zsql_method_id')
+ previous_method = catalog._getOb(method_id,None)
+ self.assertEquals(previous_method.title,'')
+ previous_method.title='toto'
+ self.assertEquals(previous_method.title,'toto')
+
+ def stepCheckCatalogMethodChangeKept(self, sequence=None, sequence_list=None, **kw):
+ """
+ Create ZSQL Method into catalog
+ """
+ pc = self.getCatalogTool()
+ catalog = pc._getOb('erp5_mysql', None)
+ method_id = sequence.get('zsql_method_id')
+ previous_method = catalog._getOb(method_id,None)
+ self.assertEquals(previous_method.title,'toto')
+
def stepAddCatalogMethodToBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
"""
Add catalog method into the business template
@@ -981,6 +1021,18 @@
method_id = sequence.get('zsql_method_id', None)
self.failUnless(method_id is not None)
bt.edit(template_catalog_method_id_list=['erp5_mysql/'+method_id])
+
+ def stepAddNewCatalogMethodToBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
+ """
+ Add catalog method into the business template
+ """
+ bt = sequence.get('current_bt', None)
+ self.failUnless(bt is not None)
+ method_id = sequence.get('zsql_method_id', None)
+ self.failUnless(method_id is not None)
+ another_method_id = sequence.get('another_zsql_method_id', None)
+ bt.edit(template_catalog_method_id_list=['erp5_mysql/'+method_id,
+ 'erp5_mysql/'+another_method_id])
def stepCheckCatalogMethodExists(self, sequence=None, sequence_list=None, **kw):
"""
@@ -1559,6 +1611,14 @@
import_bt = sequence.get('import_bt')
import_bt.install(force=1)
+ def stepPartialCatalogMethodInstall(self, sequence=None, sequence_list=None, **kw):
+ """
+ Install importzed business template
+ """
+ import_bt = sequence.get('import_bt')
+ object_to_update = {'portal_catalog/erp5_mysql/z_another_fake_method':'install'}
+ import_bt.install(object_to_update=object_to_update)
+
def stepCreateNewBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
"""
Create a new Business Template
@@ -3264,6 +3324,50 @@
'
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self, quiet=quiet)
+
+ def test_31_BusinessTemplateWithCatalogMethod(self, quiet=quiet, run=run_all_test):
+ if not run: return
+ if not quiet:
+ message = 'Test that we keep local changes if we specify a list of objects to update'
+ ZopeTestCase._print('\n%s ' % message)
+ LOG('Testing... ', 0, message)
+ sequence_list = SequenceList()
+ sequence_string = '\
+ CreateCatalogMethod \
+ CreateKeysAndTable \
+ CreateNewBusinessTemplate \
+ UseExportBusinessTemplate \
+ AddCatalogMethodToBusinessTemplate \
+ AddKeysAndTableToBusinessTemplate \
+ BuildBusinessTemplate \
+ SaveBusinessTemplate \
+ RemoveCatalogMethod \
+ RemoveKeysAndTable \
+ RemoveBusinessTemplate \
+ RemoveAllTrashBins \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ InstallBusinessTemplate \
+ Tic \
+ CreateNewCatalogMethod \
+ CreateKeysAndTable \
+ CreateNewBusinessTemplate \
+ UseExportBusinessTemplate \
+ AddNewCatalogMethodToBusinessTemplate \
+ CheckCatalogMethodExists \
+ AddKeysAndTableToBusinessTemplate \
+ BuildBusinessTemplate \
+ SaveBusinessTemplate \
+ ChangePreviousCatalogMethod \
+ ImportBusinessTemplate \
+ UseImportBusinessTemplate \
+ PartialCatalogMethodInstall \
+ CheckCatalogMethodChangeKept \
+ Tic \
+ '
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
if __name__ == '__main__':
framework()
else:
More information about the Erp5-report
mailing list