234 e = self.execute('Salesterm X').get_entity(0, 0) |
234 e = self.execute('Salesterm X').get_entity(0, 0) |
235 self.assertEquals(e.amount, 10) |
235 self.assertEquals(e.amount, 10) |
236 |
236 |
237 def test_req_pending_insert(self): |
237 def test_req_pending_insert(self): |
238 """make sure req's pending insertions are taken into account""" |
238 """make sure req's pending insertions are taken into account""" |
239 tmpgroup = self.add_entity('CWGroup', name=u"test") |
239 tmpgroup = self.request().create_entity('CWGroup', name=u"test") |
240 user = self.user() |
240 user = self.user() |
241 req = self.request() |
241 req = self.request() |
242 req.set_session_data('pending_insert', set([(user.eid, 'in_group', tmpgroup.eid)])) |
242 req.set_session_data('pending_insert', set([(user.eid, 'in_group', tmpgroup.eid)])) |
243 path, params = self.expect_redirect_publish(req) |
243 path, params = self.expect_redirect_publish(req) |
244 usergroups = [gname for gname, in |
244 usergroups = [gname for gname, in |
328 self.assertEquals(params['vid'], 'primary') |
328 self.assertEquals(params['vid'], 'primary') |
329 self.assertEquals(params['tata'], 'titi') |
329 self.assertEquals(params['tata'], 'titi') |
330 self.assertEquals(params['toto'], 'tutu') |
330 self.assertEquals(params['toto'], 'tutu') |
331 |
331 |
332 def test_redirect_delete_button(self): |
332 def test_redirect_delete_button(self): |
333 eid = self.add_entity('BlogEntry', title=u'hop', content=u'hop').eid |
333 req = self.request() |
334 req = self.request() |
334 eid = req.create_entity('BlogEntry', title=u'hop', content=u'hop').eid |
335 req.form = {'eid': str(eid), '__type:%s'%eid: 'BlogEntry', |
335 req.form = {'eid': str(eid), '__type:%s'%eid: 'BlogEntry', |
336 '__action_delete': ''} |
336 '__action_delete': ''} |
337 path, params = self.expect_redirect_publish(req) |
337 path, params = self.expect_redirect_publish(req) |
338 self.assertEquals(path, 'blogentry') |
338 self.assertEquals(path, 'blogentry') |
339 self.assertEquals(params, {u'__message': u'entity deleted'}) |
339 self.assertEquals(params, {u'__message': u'entity deleted'}) |
340 eid = self.add_entity('EmailAddress', address=u'hop@logilab.fr').eid |
340 eid = req.create_entity('EmailAddress', address=u'hop@logilab.fr').eid |
341 self.execute('SET X use_email E WHERE E eid %(e)s, X eid %(x)s', |
341 self.execute('SET X use_email E WHERE E eid %(e)s, X eid %(x)s', |
342 {'x': self.session.user.eid, 'e': eid}, 'x') |
342 {'x': self.session.user.eid, 'e': eid}, 'x') |
343 self.commit() |
343 self.commit() |
344 req = self.request() |
344 req = req |
345 req.form = {'eid': str(eid), '__type:%s'%eid: 'EmailAddress', |
345 req.form = {'eid': str(eid), '__type:%s'%eid: 'EmailAddress', |
346 '__action_delete': ''} |
346 '__action_delete': ''} |
347 path, params = self.expect_redirect_publish(req) |
347 path, params = self.expect_redirect_publish(req) |
348 self.assertEquals(path, 'cwuser/admin') |
348 self.assertEquals(path, 'cwuser/admin') |
349 self.assertEquals(params, {u'__message': u'entity deleted'}) |
349 self.assertEquals(params, {u'__message': u'entity deleted'}) |
350 eid1 = self.add_entity('BlogEntry', title=u'hop', content=u'hop').eid |
350 eid1 = req.create_entity('BlogEntry', title=u'hop', content=u'hop').eid |
351 eid2 = self.add_entity('EmailAddress', address=u'hop@logilab.fr').eid |
351 eid2 = req.create_entity('EmailAddress', address=u'hop@logilab.fr').eid |
352 req = self.request() |
352 req = self.request() |
353 req.form = {'eid': [str(eid1), str(eid2)], |
353 req.form = {'eid': [str(eid1), str(eid2)], |
354 '__type:%s'%eid1: 'BlogEntry', |
354 '__type:%s'%eid1: 'BlogEntry', |
355 '__type:%s'%eid2: 'EmailAddress', |
355 '__type:%s'%eid2: 'EmailAddress', |
356 '__action_delete': ''} |
356 '__action_delete': ''} |
480 p = self.create_user("doe") |
480 p = self.create_user("doe") |
481 # do not try to skip 'primary_email' for this test |
481 # do not try to skip 'primary_email' for this test |
482 old_skips = p.__class__.skip_copy_for |
482 old_skips = p.__class__.skip_copy_for |
483 p.__class__.skip_copy_for = () |
483 p.__class__.skip_copy_for = () |
484 try: |
484 try: |
485 e = self.add_entity('EmailAddress', address=u'doe@doe.com') |
485 e = self.request().create_entity('EmailAddress', address=u'doe@doe.com') |
486 self.execute('SET P use_email E, P primary_email E WHERE P eid %(p)s, E eid %(e)s', |
486 self.execute('SET P use_email E, P primary_email E WHERE P eid %(p)s, E eid %(e)s', |
487 {'p' : p.eid, 'e' : e.eid}) |
487 {'p' : p.eid, 'e' : e.eid}) |
488 req = self.request() |
488 req = self.request() |
489 req.form = {'__cloned_eid:X': p.eid, |
489 req.form = {'__cloned_eid:X': p.eid, |
490 'eid': 'X', '__type:X': 'CWUser', |
490 'eid': 'X', '__type:X': 'CWUser', |
541 def ctrl(self, req=None): |
541 def ctrl(self, req=None): |
542 req = req or self.request(url='http://whatever.fr/') |
542 req = req or self.request(url='http://whatever.fr/') |
543 return self.vreg['controllers'].select('json', req) |
543 return self.vreg['controllers'].select('json', req) |
544 |
544 |
545 def setup_database(self): |
545 def setup_database(self): |
546 self.pytag = self.add_entity('Tag', name=u'python') |
546 req = self.request() |
547 self.cubicwebtag = self.add_entity('Tag', name=u'cubicweb') |
547 self.pytag = req.create_entity('Tag', name=u'python') |
|
548 self.cubicwebtag = req.create_entity('Tag', name=u'cubicweb') |
548 self.john = self.create_user(u'John') |
549 self.john = self.create_user(u'John') |
549 |
550 |
550 |
551 |
551 ## tests ################################################################## |
552 ## tests ################################################################## |
552 def test_simple_exec(self): |
553 def test_simple_exec(self): |