diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py
index 54f817863641726d8c29031becb59aec173c02f4..a52ba274709f08f740c15a031a1b1a90e99ec6f9 100644
--- a/product/ERP5OOo/tests/testDms.py
+++ b/product/ERP5OOo/tests/testDms.py
@@ -101,20 +101,8 @@ def makeFileUpload(name, as_name=None):
   path = makeFilePath(name)
   return FileUpload(path, as_name)
 
-
-class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional):
-  """
-    Test basic document - related operations
-  """
-
-  def getTitle(self):
-    return "DMS"
-
-  ## setup
-
+class TestDocumentMixin(ERP5TypeTestCase):
   def setUpOnce(self):
-    self.setDefaultSitePreference()
-    self.setSystemPreference()
     # set a dummy localizer (because normally it is cookie based)
     self.portal.Localizer = DummyLocalizer()
     # make sure every body can traverse document module
@@ -124,13 +112,19 @@ class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional):
     transaction.commit()
     self.tic()
 
+  def afterSetUp(self):
+    self.setDefaultSitePreference()
+    self.setSystemPreference()
+    transaction.commit()
+    self.tic()
+
   def setDefaultSitePreference(self):
     default_pref = self.portal.portal_preferences.default_site_preference
     default_pref.setPreferredOoodocServerAddress(conversion_server_host[0])
     default_pref.setPreferredOoodocServerPortNumber(conversion_server_host[1])
     default_pref.setPreferredDocumentFileNameRegularExpression(FILE_NAME_REGULAR_EXPRESSION)
     default_pref.setPreferredDocumentReferenceRegularExpression(REFERENCE_REGULAR_EXPRESSION)
-    if default_pref.getPreferenceState() != 'global':
+    if self.portal.portal_workflow.isTransitionPossible(default_pref, 'enable'):
       default_pref.enable()
     return default_pref
 
@@ -143,7 +137,7 @@ class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional):
                                                        portal_type=portal_type)
     else:
       preference = preference_list[0]
-    if preference.getPreferenceState() != 'global':
+    if self.portal.portal_workflow.isTransitionPossible(preference, 'enable'):
       preference.enable()
     return preference
 
@@ -182,6 +176,17 @@ class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional):
     transaction.commit()
     self.tic()
 
+class TestDocument(TestDocumentMixin):
+  """
+    Test basic document - related operations
+  """
+
+  def getTitle(self):
+    return "DMS"
+
+  ## setup
+
+  
   ## helper methods
 
   def createTestDocument(self, file_name=None, portal_type='Text', reference='TEST', version='002', language='en'):
@@ -1636,63 +1641,19 @@ style=3D'color:black'>05D65812<o:p></o:p></span></p>
         result_list.append(i)
     self.assertEquals(result_list, [])
 
-class TestDocumentWithSecurity(ERP5TypeTestCase):
+class TestDocumentWithSecurity(TestDocumentMixin):
 
   username = 'yusei'
 
   def getTitle(self):
     return "DMS with security"
 
-  def afterSetUp(self):
-    self.setDefaultSitePreference()
-    self.setSystemPreference()
-    # set a dummy localizer (because normally it is cookie based)
-    self.portal.Localizer = DummyLocalizer()
-    # make sure every body can traverse document module
-    self.portal.document_module.manage_permission('View', ['Anonymous'], 1)
-    self.portal.document_module.manage_permission(
-                           'Access contents information', ['Anonymous'], 1)
-    transaction.commit()
-    self.tic()
-    self.login()
-
-  def setDefaultSitePreference(self):
-    default_pref = self.portal.portal_preferences.default_site_preference
-    default_pref.setPreferredOoodocServerAddress(conversion_server_host[0])
-    default_pref.setPreferredOoodocServerPortNumber(conversion_server_host[1])
-    default_pref.setPreferredDocumentFileNameRegularExpression(FILE_NAME_REGULAR_EXPRESSION)
-    default_pref.setPreferredDocumentReferenceRegularExpression(REFERENCE_REGULAR_EXPRESSION)
-    if default_pref.getPreferenceState() != 'global':
-      default_pref.enable()
-    return default_pref
-
-  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]
-    if preference.getPreferenceState() != 'global':
-      preference.enable()
-    return preference
-
   def login(self):
     uf = self.getPortal().acl_users
     uf._doAddUser(self.username, '', ['Auditor', 'Author'], [])
     user = uf.getUserById(self.username).__of__(uf)
     newSecurityManager(None, user)
 
-  def getDocumentModule(self):
-    return getattr(self.getPortal(),'document_module')
-
-  def getBusinessTemplateList(self):
-    return ('erp5_base',
-            'erp5_ingestion', 'erp5_ingestion_mysql_innodb_catalog',
-            'erp5_web', 'erp5_dms')
-
   def test_ShowPreviewAfterSubmitted(self, quiet=QUIET, run=RUN_ALL_TEST):
     """
     Make sure that uploader can preview document after submitted.
diff --git a/product/ERP5OOo/tests/testOOoConversionCache.py b/product/ERP5OOo/tests/testOOoConversionCache.py
index c5d98a2e9ac520eb86b285a15410a4300b631c00..f375a6fc9af2b6aee83f0c895bd1950ff25a373f 100644
--- a/product/ERP5OOo/tests/testOOoConversionCache.py
+++ b/product/ERP5OOo/tests/testOOoConversionCache.py
@@ -33,7 +33,7 @@ import time
 
 import transaction
 from Testing import ZopeTestCase
-from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+from testDms import TestDocumentMixin
 from Products.ERP5Type.tests.utils import FileUpload
 from Products.ERP5Type.tests.utils import DummyLocalizer
 from AccessControl.SecurityManagement import newSecurityManager
@@ -59,7 +59,7 @@ def makeFileUpload(name, as_name=None):
   return FileUpload(path, as_name)
 
 
-class TestDocumentConversionCache(ERP5TypeTestCase, ZopeTestCase.Functional):
+class TestDocumentConversionCache(TestDocumentMixin):
   """
     Test basic document - related operations
   """
@@ -76,39 +76,7 @@ class TestDocumentConversionCache(ERP5TypeTestCase, ZopeTestCase.Functional):
                        )
 
   def getTitle(self):
-    return "DMS"
-
-  ## setup
-
-  def afterSetUp(self):
-    self.setSystemPreference()
-    # set a dummy localizer (because normally it is cookie based)
-    self.portal.Localizer = DummyLocalizer()
-    # make sure every body can traverse document module
-    self.portal.document_module.manage_permission('View', ['Anonymous'], 1)
-    self.portal.document_module.manage_permission(
-                           'Access contents information', ['Anonymous'], 1)
-
-  def setSystemPreference(self):
-    default_pref = self.portal.portal_preferences.default_site_preference
-    default_pref.setPreferredOoodocServerAddress(conversion_server_host[0])
-    default_pref.setPreferredOoodocServerPortNumber(conversion_server_host[1])
-    default_pref.setPreferredDocumentFileNameRegularExpression(FILE_NAME_REGULAR_EXPRESSION)
-    default_pref.setPreferredDocumentReferenceRegularExpression(REFERENCE_REGULAR_EXPRESSION)
-    default_pref.setPreferredConversionCacheFactory('document_cache_factory')
-    if default_pref.getPreferenceState() != 'global':
-      default_pref.enable()
-
-  def getDocumentModule(self):
-    return getattr(self.getPortal(),'document_module')
-
-  def getBusinessTemplateList(self):
-    return ('erp5_base',
-            'erp5_ingestion', 'erp5_ingestion_mysql_innodb_catalog',
-            'erp5_web', 'erp5_dms')
-
-  def getNeededCategoryList(self):
-    return ()
+    return "OOo Conversion Cache"
 
   def beforeTearDown(self):
     """
@@ -117,18 +85,6 @@ class TestDocumentConversionCache(ERP5TypeTestCase, ZopeTestCase.Functional):
     """
     self.clearDocumentModule()
 
-  def clearDocumentModule(self):
-    """
-      Remove everything after each run
-    """
-    transaction.abort()
-    self.tic()
-    doc_module = self.getDocumentModule()
-    ids = [i for i in doc_module.objectIds()]
-    doc_module.manage_delObjects(ids)
-    transaction.commit()
-    self.tic()
-
   def clearCache(self):
     self.portal.portal_caches.clearAllCache()