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) |