web/test/unittest_views_basecontrollers.py
changeset 5223 6abd6e3599f4
parent 5174 78438ad513ca
child 5385 b6e250dd7a7d
equal deleted inserted replaced
5216:4f4369e63f5e 5223:6abd6e3599f4
   245     def test_req_pending_insert(self):
   245     def test_req_pending_insert(self):
   246         """make sure req's pending insertions are taken into account"""
   246         """make sure req's pending insertions are taken into account"""
   247         tmpgroup = self.request().create_entity('CWGroup', name=u"test")
   247         tmpgroup = self.request().create_entity('CWGroup', name=u"test")
   248         user = self.user()
   248         user = self.user()
   249         req = self.request(**req_form(user))
   249         req = self.request(**req_form(user))
   250         req.set_session_data('pending_insert', set([(user.eid, 'in_group', tmpgroup.eid)]))
   250         req.session.data['pending_insert'] = set([(user.eid, 'in_group', tmpgroup.eid)])
   251         path, params = self.expect_redirect_publish(req, 'edit')
   251         path, params = self.expect_redirect_publish(req, 'edit')
   252         usergroups = [gname for gname, in
   252         usergroups = [gname for gname, in
   253                       self.execute('Any N WHERE G name N, U in_group G, U eid %(u)s', {'u': user.eid})]
   253                       self.execute('Any N WHERE G name N, U in_group G, U eid %(u)s', {'u': user.eid})]
   254         self.assertUnorderedIterableEquals(usergroups, ['managers', 'test'])
   254         self.assertUnorderedIterableEquals(usergroups, ['managers', 'test'])
   255         self.assertEquals(get_pending_inserts(req), [])
   255         self.assertEquals(get_pending_inserts(req), [])
   264                       self.execute('Any N WHERE G name N, U in_group G, U eid %(u)s', {'u': user.eid})]
   264                       self.execute('Any N WHERE G name N, U in_group G, U eid %(u)s', {'u': user.eid})]
   265         # just make sure everything was set correctly
   265         # just make sure everything was set correctly
   266         self.assertUnorderedIterableEquals(usergroups, ['managers', 'test'])
   266         self.assertUnorderedIterableEquals(usergroups, ['managers', 'test'])
   267         # now try to delete the relation
   267         # now try to delete the relation
   268         req = self.request(**req_form(user))
   268         req = self.request(**req_form(user))
   269         req.set_session_data('pending_delete', set([(user.eid, 'in_group', groupeid)]))
   269         req.session.data['pending_delete'] = set([(user.eid, 'in_group', groupeid)])
   270         path, params = self.expect_redirect_publish(req, 'edit')
   270         path, params = self.expect_redirect_publish(req, 'edit')
   271         usergroups = [gname for gname, in
   271         usergroups = [gname for gname, in
   272                       self.execute('Any N WHERE G name N, U in_group G, U eid %(u)s', {'u': user.eid})]
   272                       self.execute('Any N WHERE G name N, U in_group G, U eid %(u)s', {'u': user.eid})]
   273         self.assertUnorderedIterableEquals(usergroups, ['managers'])
   273         self.assertUnorderedIterableEquals(usergroups, ['managers'])
   274         self.assertEquals(get_pending_deletes(req), [])
   274         self.assertEquals(get_pending_deletes(req), [])
   552 #         self.assertEquals(ctrl.publish(),
   552 #         self.assertEquals(ctrl.publish(),
   553 #                           simplejson.dumps(self.execute(rql).rows))
   553 #                           simplejson.dumps(self.execute(rql).rows))
   554 
   554 
   555     def test_remote_add_existing_tag(self):
   555     def test_remote_add_existing_tag(self):
   556         self.remote_call('tag_entity', self.john.eid, ['python'])
   556         self.remote_call('tag_entity', self.john.eid, ['python'])
   557         self.assertUnorderedIterableEquals([tname for tname, in self.execute('Any N WHERE T is Tag, T name N')],
   557         self.assertUnorderedIterableEquals(
   558                              ['python', 'cubicweb'])
   558             [tname for tname, in self.execute('Any N WHERE T is Tag, T name N')],
   559         self.assertEquals(self.execute('Any N WHERE T tags P, P is CWUser, T name N').rows,
   559             ['python', 'cubicweb'])
   560                           [['python']])
   560         self.assertEquals(
       
   561             self.execute('Any N WHERE T tags P, P is CWUser, T name N').rows,
       
   562             [['python']])
   561 
   563 
   562     def test_remote_add_new_tag(self):
   564     def test_remote_add_new_tag(self):
   563         self.remote_call('tag_entity', self.john.eid, ['javascript'])
   565         self.remote_call('tag_entity', self.john.eid, ['javascript'])
   564         self.assertUnorderedIterableEquals([tname for tname, in self.execute('Any N WHERE T is Tag, T name N')],
   566         self.assertUnorderedIterableEquals(
   565                              ['python', 'cubicweb', 'javascript'])
   567             [tname for tname, in self.execute('Any N WHERE T is Tag, T name N')],
   566         self.assertEquals(self.execute('Any N WHERE T tags P, P is CWUser, T name N').rows,
   568             ['python', 'cubicweb', 'javascript'])
   567                           [['javascript']])
   569         self.assertEquals(
       
   570             self.execute('Any N WHERE T tags P, P is CWUser, T name N').rows,
       
   571             [['javascript']])
   568 
   572 
   569     def test_pending_insertion(self):
   573     def test_pending_insertion(self):
   570         res, req = self.remote_call('add_pending_inserts', [['12', 'tags', '13']])
   574         res, req = self.remote_call('add_pending_inserts', [['12', 'tags', '13']])
   571         deletes = get_pending_deletes(req)
   575         deletes = get_pending_deletes(req)
   572         self.assertEquals(deletes, [])
   576         self.assertEquals(deletes, [])