From 868552c3dff8d2209e303e1356b4a2f9e672a409 Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Wed, 23 Mar 2005 15:12:06 +0000
Subject: [PATCH] check if searchFolder can sort correctly objects

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@2739 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Catalog/tests/testCatalog.py | 26 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/product/ERP5Catalog/tests/testCatalog.py b/product/ERP5Catalog/tests/testCatalog.py
index 3451545f4c..e553f2ecad 100755
--- a/product/ERP5Catalog/tests/testCatalog.py
+++ b/product/ERP5Catalog/tests/testCatalog.py
@@ -299,6 +299,32 @@ class Test(ERP5TypeTestCase):
     folder_object_list = [x.getObject().getId() for x in person_module.searchFolder()]
     self.assertEquals(['4'],folder_object_list)
 
+  def test_10_OrderedSearchFolder(self, quiet=0, run=run_all_test):
+    if not run: return
+    if not quiet:
+      message = 'Ordered Search Folder'
+      ZopeTestCase._print('\n%s ' % message)
+      LOG('Testing... ',0,message)
+
+    person_module = self.getPersonModule()
+
+    # Clear catalog
+    portal_catalog = self.getCatalogTool()
+    portal_catalog.manage_catalogClear()
+
+    person = person_module.newContent(id='a',portal_type='Person',title='a',description='z')
+    person.immediateReindexObject()
+    person = person_module.newContent(id='b',portal_type='Person',title='a',description='y')
+    person.immediateReindexObject()
+    person = person_module.newContent(id='c',portal_type='Person',title='a',description='x')
+    person.immediateReindexObject()
+    folder_object_list = [x.getObject().getId() for x in person_module.searchFolder(sort_on=[('id','ascendign')])]
+    self.assertEquals(['a','b','c'],folder_object_list)
+    folder_object_list = [x.getObject().getId() for x in person_module.searchFolder(sort_on=[('title','ascendign'),('description','ascending')])]
+    self.assertEquals(['c','b','a'],folder_object_list)
+    folder_object_list = [x.getObject().getId() for x in person_module.searchFolder(sort_on=[('title','ascendign'),('description','descending')])]
+    self.assertEquals(['a','b','c'],folder_object_list)
+
   def atest_99_BadCatalog(self, quiet=0, run=run_all_test):
     """
     We should make sure that if a catalog method fails,
-- 
2.30.9