web/test/unittest_viewselector.py
branchstable
changeset 5994 97c55baefa0c
parent 5890 141b935a38fc
child 6031 4b721e739f53
equal deleted inserted replaced
5976:00b1b6b906cf 5994:97c55baefa0c
    20 
    20 
    21 from logilab.common.testlib import unittest_main
    21 from logilab.common.testlib import unittest_main
    22 
    22 
    23 from cubicweb.devtools.testlib import CubicWebTC
    23 from cubicweb.devtools.testlib import CubicWebTC
    24 from cubicweb import CW_SOFTWARE_ROOT as BASE, Binary, UnknownProperty
    24 from cubicweb import CW_SOFTWARE_ROOT as BASE, Binary, UnknownProperty
    25 from cubicweb.selectors import (match_user_groups, implements,
    25 from cubicweb.selectors import (match_user_groups, is_instance,
    26                                 specified_etype_implements, rql_condition,
    26                                 specified_etype_implements, rql_condition,
    27                                 traced_selection)
    27                                 traced_selection)
    28 from cubicweb.web import NoSelectableObject
    28 from cubicweb.web import NoSelectableObject
    29 from cubicweb.web.action import Action
    29 from cubicweb.web.action import Action
    30 from cubicweb.web.views import (primary, baseviews, tableview, editforms,
    30 from cubicweb.web.views import (primary, baseviews, tableview, editforms,
   406                               self.vreg['views'].select, 'creation', req, rset=rset)
   406                               self.vreg['views'].select, 'creation', req, rset=rset)
   407         self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset),
   407         self.assertIsInstance(self.vreg['views'].select('table', req, rset=rset),
   408                               tableview.TableView)
   408                               tableview.TableView)
   409 
   409 
   410     def test_interface_selector(self):
   410     def test_interface_selector(self):
   411         image = self.request().create_entity('Image', data_name=u'bim.png', data=Binary('bim'))
   411         image = self.request().create_entity('File', data_name=u'bim.png', data=Binary('bim'))
   412         # image primary view priority
   412         # image primary view priority
   413         req = self.request()
   413         req = self.request()
   414         rset = req.execute('Image X WHERE X data_name "bim.png"')
   414         rset = req.execute('File X WHERE X data_name "bim.png"')
   415         self.assertIsInstance(self.vreg['views'].select('primary', req, rset=rset),
   415         self.assertIsInstance(self.vreg['views'].select('primary', req, rset=rset),
   416                               idownloadable.IDownloadablePrimaryView)
   416                               idownloadable.IDownloadablePrimaryView)
   417 
   417 
   418 
   418 
   419     def test_score_entity_selector(self):
   419     def test_score_entity_selector(self):
   420         image = self.request().create_entity('Image', data_name=u'bim.png', data=Binary('bim'))
   420         image = self.request().create_entity('File', data_name=u'bim.png', data=Binary('bim'))
   421         # image primary view priority
   421         # image primary view priority
   422         req = self.request()
   422         req = self.request()
   423         rset = req.execute('Image X WHERE X data_name "bim.png"')
   423         rset = req.execute('File X WHERE X data_name "bim.png"')
   424         self.assertIsInstance(self.vreg['views'].select('image', req, rset=rset),
   424         self.assertIsInstance(self.vreg['views'].select('image', req, rset=rset),
   425                               idownloadable.ImageView)
   425                               idownloadable.ImageView)
   426         fileobj = self.request().create_entity('File', data_name=u'bim.txt', data=Binary('bim'))
   426         fileobj = self.request().create_entity('File', data_name=u'bim.txt', data=Binary('bim'))
   427         # image primary view priority
   427         # image primary view priority
   428         req = self.request()
   428         req = self.request()
   474 
   474 
   475 
   475 
   476 
   476 
   477 class CWETypeRQLAction(Action):
   477 class CWETypeRQLAction(Action):
   478     __regid__ = 'testaction'
   478     __regid__ = 'testaction'
   479     __select__ = implements('CWEType') & rql_condition('X name "CWEType"')
   479     __select__ = is_instance('CWEType') & rql_condition('X name "CWEType"')
   480     title = 'bla'
   480     title = 'bla'
   481 
   481 
   482 class RQLActionTC(ViewSelectorTC):
   482 class RQLActionTC(ViewSelectorTC):
   483 
   483 
   484     def setUp(self):
   484     def setUp(self):