server/test/unittest_querier.py
branchstable
changeset 6196 12fdccedab5a
parent 6194 2a1f8cabbe6a
child 6209 e3e5870807e9
equal deleted inserted replaced
6195:a0c4441e6ddf 6196:12fdccedab5a
    14 # FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
    14 # FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
    15 # details.
    15 # details.
    16 #
    16 #
    17 # You should have received a copy of the GNU Lesser General Public License along
    17 # You should have received a copy of the GNU Lesser General Public License along
    18 # with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
    18 # with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
    19 """unit tests for modules cubicweb.server.querier and cubicweb.server.querier_steps
    19 """unit tests for modules cubicweb.server.querier and cubicweb.server.ssplanner
    20 """
    20 """
    21 from datetime import date, datetime
    21 from datetime import date, datetime
    22 
    22 
    23 from logilab.common.testlib import TestCase, unittest_main
    23 from logilab.common.testlib import TestCase, unittest_main
    24 from rql import BadRQLQuery, RQLSyntaxError
    24 from rql import BadRQLQuery, RQLSyntaxError
   681         self.assertRaises(BadRQLQuery,
   681         self.assertRaises(BadRQLQuery,
   682                           self.execute, 'DISTINCT Any S ORDERBY R WHERE A is Affaire, A sujet S, A ref R')
   682                           self.execute, 'DISTINCT Any S ORDERBY R WHERE A is Affaire, A sujet S, A ref R')
   683 
   683 
   684     def test_select_ordered_distinct_2(self):
   684     def test_select_ordered_distinct_2(self):
   685         self.execute("INSERT Affaire X: X sujet 'minor'")
   685         self.execute("INSERT Affaire X: X sujet 'minor'")
   686         self.execute("INSERT Affaire X: X sujet 'important'")
       
   687         self.execute("INSERT Affaire X: X sujet 'normal'")
       
   688         self.execute("INSERT Affaire X: X sujet 'zou'")
   686         self.execute("INSERT Affaire X: X sujet 'zou'")
   689         self.execute("INSERT Affaire X: X sujet 'abcd'")
   687         self.execute("INSERT Affaire X: X sujet 'abcd'")
   690         rset = self.execute('DISTINCT Any S ORDERBY S WHERE A is Affaire, A sujet S')
   688         rset = self.execute('DISTINCT Any S ORDERBY S WHERE A is Affaire, A sujet S')
   691         self.assertEqual(rset.rows, [['abcd'], ['important'], ['minor'], ['normal'], ['zou']])
   689         self.assertEqual(rset.rows, [['abcd'], ['minor'], ['zou']])
   692 
   690 
   693     def test_select_ordered_distinct_3(self):
   691     def test_select_ordered_distinct_3(self):
   694         rset = self.execute('DISTINCT Any N ORDERBY GROUP_SORT_VALUE(N) WHERE X is CWGroup, X name N')
   692         rset = self.execute('DISTINCT Any N ORDERBY GROUP_SORT_VALUE(N) WHERE X is CWGroup, X name N')
   695         self.assertEqual(rset.rows, [['owners'], ['guests'], ['users'], ['managers']])
   693         self.assertEqual(rset.rows, [['owners'], ['guests'], ['users'], ['managers']])
   696 
   694