Newer
Older
from cubicweb.devtools.testlib import CubicWebTC
from cubicweb.web import uicfg
from cubicweb.web.views import actions, embedding
from cubes.link import views
asf = uicfg.autoform_section
class LinkTC(CubicWebTC):
self.request().create_entity('Link', title=u"vous êtes perdu ?", url=u"http://www.perdu.com")
req = self.request()
rset = self.execute('Any X WHERE X is Link')
self.assertEquals(self.pactionsdict(req, rset),
{'mainactions': [actions.ModifyAction, views.LinkFollowAction],
'moreactions': [actions.ManagePermissionsAction,actions.DeleteAction,
actions.CopyAction,
embedding.EmbedAction],
})
def test_relations_by_category(self):
def rbc(iterable):
return [(rschema.type, x) for rschema, tschemas, x in iterable]
e = self.vreg["etypes"].etype_class('Link')(self.request())
# we should only see embed when we are in the managers group
self.assertEquals(rbc(asf.relations_by_section(e, 'secondary', 'add')),
[('embed', 'subject'),
('description', 'subject')])
self.assertEquals(rbc(asf.relations_by_section(e,'secondary', 'delete')),
[('embed', 'subject'),
('description', 'subject')])
self.create_user('toto')
self.login('toto')
e = self.etype_instance('Link') # create a new instance with the new connection
self.assertEquals(rbc(asf.relations_by_section(e, 'secondary', 'add')),
self.assertEquals(rbc(asf.relations_by_section(e, 'secondary', 'delete')),
[('description', 'subject')])
if __name__ == '__main__':
from logilab.common.testlib import unittest_main
unittest_main()