Test coverage for vnccollab.theme.browser.dashboard

vnccollab/      covered 69% (1245 of 4098 uncovered)
    theme/      covered 69% (1245 of 4098 uncovered)
        browser/      covered 74% (507 of 1985 uncovered)
            dashboard.py      covered 100% (0 of 25 uncovered)

    1: from zope.component import getUtility
       
    1: from Products.Five.browser import BrowserView
       
    1: from plone.portlets.interfaces import IPortletManager
    1: from plone.portlets.constants import USER_CATEGORY, GROUP_CATEGORY
       
    1: from plone.memoize.instance import memoize
       
    1: from Products.CMFCore.utils import getToolByName
       
       
    2: class DashboardView(BrowserView):
           """User's Dashboard.
       
           Lists user's group assigned portlets.
    1:     """
       
    1:     @memoize
           def empty(self):
    1:         dashboards = [getUtility(IPortletManager, name=name)
    1:                       for name in ['plone.dashboard1',
    1:                                    'plone.dashboard2',
    1:                                    'plone.dashboard3',
    5:                                    'plone.dashboard4']]
       
    1:         portal_membership = getToolByName(self.context, 'portal_membership')
    1:         member = portal_membership.getAuthenticatedMember()
    1:         userid = member.getId()
       
    1:         num_portlets = 0
    5:         for dashboard in dashboards:
    4:             num_portlets += len(dashboard.get(USER_CATEGORY, {})
    4:                                          .get(userid, {}))
   12:             for groupid in member.getGroups():
    8:                 num_portlets += len(dashboard.get(GROUP_CATEGORY, {})
    8:                                              .get(groupid, {}))
    1:         return num_portlets == 0