web/test/unittest_views_baseviews.py
changeset 2637 07103211e511
parent 2381 caad2367d940
child 2650 18aec79ec3a3
equal deleted inserted replaced
2636:104291d9bd00 2637:07103211e511
    42     def test_one_entity_eid(self):
    42     def test_one_entity_eid(self):
    43         req = self.request()
    43         req = self.request()
    44         rset = self.execute('Any X WHERE X eid 1')
    44         rset = self.execute('Any X WHERE X eid 1')
    45         self.assertEquals(vid_from_rset(req, rset, self.schema), 'primary')
    45         self.assertEquals(vid_from_rset(req, rset, self.schema), 'primary')
    46 
    46 
    47     def test_more_than_one_entity(self):
    47     def test_more_than_one_entity_same_type(self):
    48         req = self.request()
    48         req = self.request()
    49         rset = self.execute('Any X WHERE X is CWUser')
    49         rset = self.execute('Any X WHERE X is CWUser')
    50         self.assertEquals(vid_from_rset(req, rset, self.schema), 'list')
    50         self.assertEquals(vid_from_rset(req, rset, self.schema), 'adaptedlist')
    51         rset = self.execute('Any X, L WHERE X login L')
    51         rset = self.execute('Any X, L WHERE X login L')
       
    52         self.assertEquals(vid_from_rset(req, rset, self.schema), 'adaptedlist')
       
    53 
       
    54     def test_more_than_one_entity_diff_type(self):
       
    55         req = self.request()
       
    56         rset = self.execute('Any X WHERE X is IN (CWUser, CWGroup)')
    52         self.assertEquals(vid_from_rset(req, rset, self.schema), 'list')
    57         self.assertEquals(vid_from_rset(req, rset, self.schema), 'list')
    53 
    58 
    54     def test_more_than_one_entity_by_row(self):
    59     def test_more_than_one_entity_by_row(self):
    55         req = self.request()
    60         req = self.request()
    56         rset = self.execute('Any X, G WHERE X in_group G')
    61         rset = self.execute('Any X, G WHERE X in_group G')
    84     def _prepare_entity(self):
    89     def _prepare_entity(self):
    85         e = self.add_entity("State", name=u'<toto>', description=u'loo"ong blabla')
    90         e = self.add_entity("State", name=u'<toto>', description=u'loo"ong blabla')
    86         rset = self.execute('Any X, D, CD, NOW - CD WHERE X is State, X description D, X creation_date CD, X eid %(x)s',
    91         rset = self.execute('Any X, D, CD, NOW - CD WHERE X is State, X description D, X creation_date CD, X eid %(x)s',
    87                             {'x': e.eid}, 'x')
    92                             {'x': e.eid}, 'x')
    88         req = self.request()
    93         req = self.request()
    89         view = self.vreg.select('views', 'table', req, rset)
    94         view = self.vreg.select('views', 'table', req, rset=rset)
    90         return e, rset, view
    95         return e, rset, view
    91 
    96 
    92     def test_headers(self):
    97     def test_headers(self):
    93         self.skip('implement me')
    98         self.skip('implement me')
    94 
    99 
   100         # XXX sqlite does not handle Interval correctly
   105         # XXX sqlite does not handle Interval correctly
   101         # value = loadjson(view.sortvalue(0, 3))
   106         # value = loadjson(view.sortvalue(0, 3))
   102         # self.assertAlmostEquals(value, rset.rows[0][3].seconds)
   107         # self.assertAlmostEquals(value, rset.rows[0][3].seconds)
   103 
   108 
   104     def test_sortvalue_with_display_col(self):
   109     def test_sortvalue_with_display_col(self):
   105         self.skip('XXX there is no column_labels on rset')
       
   106         e, rset, view = self._prepare_entity()
   110         e, rset, view = self._prepare_entity()
   107         labels = rset.column_labels()
   111         labels = view.columns_labels()
   108         table = TableWidget(view)
   112         table = TableWidget(view)
   109         table.columns = view.get_columns(labels, [1, 2], None, None, None, None, 0)
   113         table.columns = view.get_columns(labels, [1, 2], None, None, None, None, 0)
   110         expected = ['loo"ong blabla'[:10], e.creation_date.strftime('%Y-%m-%d %H:%M')]
   114         expected = ['loo"ong blabla'[:10], e.creation_date.strftime('%Y-%m-%d %H:%M')]
   111         got = [loadjson(value) for _, value in table.itercols(0)]
   115         got = [loadjson(value) for _, value in table.itercols(0)]
   112         self.assertListEqual(got, expected)
   116         self.assertListEqual(got, expected)