def setUp(self):
        portal = self.layer['portal']
        request = self.layer['request']
        # we should have 2 folders in the site's root from the layer. Lets
        # mark one of it's sub-folders ('sub-0') as a navigation root
        self.f1 = portal['folder-0']
        zope.interface.alsoProvides(self.f1, INavigationRoot)
        viewlet = DropdownMenuViewlet(portal, request, None, None)
        viewlet.update()

        self.root_folders_ids = ['sub-0', 'sub-1']
        self.subfolders = ['sub-sub-0', 'sub-sub-1']
        self.portal = portal
        self.request = request
        self.viewlet = viewlet
        self.rf_url = self.f1.absolute_url()
    def setUp(self):
        portal = self.layer['portal']
        request = self.layer['request']
        viewlet = DropdownMenuViewlet(portal, request, None, None)
        setRoles(portal, TEST_USER_ID, ['Manager'])

        # we have 2 folders created on the layer right away
        self.root_folders_ids = ['folder-0', 'folder-1']

        # update the dropdownmenu viewlet
        viewlet.update()

        for folder_id in self.root_folders_ids:
            self.failUnless(folder_id in [tab['id'] for tab in
                                          viewlet.portal_tabs])

        setRoles(portal, TEST_USER_ID, ['Member'])
        self.portal = portal
        self.viewlet = viewlet
예제 #3
0
    def setUp(self):
        portal = self.layer['portal']
        request = self.layer['request']
        from webcouturier.dropdownmenu.browser.dropdown import DropdownMenuViewlet  # noqa
        viewlet = DropdownMenuViewlet(portal, request, None, None)
        setRoles(portal, TEST_USER_ID, ['Manager'])

        # we have 2 folders created on the layer right away
        self.root_folders_ids = ['folder-0', 'folder-1']

        # update the dropdownmenu viewlet
        viewlet.update()

        for folder_id in self.root_folders_ids:
            self.assertIn(folder_id,
                          [tab['id'] for tab in viewlet.portal_tabs])

        setRoles(portal, TEST_USER_ID, ['Member'])
        self.portal = portal
        self.viewlet = viewlet
    def test_dropdowns_availability(self):
        # whether we get dropdownmenu at all

        self.setRoles('Manager')

        # dummy structure at first
        root_folders_ids = []
        for i in range(2):
            self.portal.invokeFactory('Folder', 'folder-%s' % i)
            root_folders_ids.append('folder-%s' % i)

        # update the dropdownmenu viewlet
        viewlet = DropdownMenuViewlet(self.portal, self.portal.REQUEST, None,
                                      None)
        viewlet.update()

        for folder_id in root_folders_ids:
            self.failUnless(folder_id in [tab['id'] for tab in
                                          viewlet.portal_tabs])

        # since we don't have subfolders yet, we should not have dropdowns
        for tab_url in [getattr(self.portal, folder_id).absolute_url()
                        for folder_id in root_folders_ids]:
            self.assertEqual(viewlet.getTabObject(tab_url), '')

        # now we add some subfolders to one of the folders
        folder_with_dd = getattr(self.portal, 'folder-0')
        for i in range(2):
            folder_with_dd.invokeFactory('Folder', 'sub-%s' % i)

        folder_with_dd_url = folder_with_dd.absolute_url()
        self.failIf(viewlet.getTabObject(folder_with_dd_url) == '')
        self.failUnless('<a href="http://nohost/plone/folder-0/sub-0"'
                        in viewlet.getTabObject(folder_with_dd_url))
예제 #5
0
    def setUp(self):
        portal = self.layer['portal']
        request = self.layer['request']
        from webcouturier.dropdownmenu.browser.dropdown import DropdownMenuViewlet  # noqa
        viewlet = DropdownMenuViewlet(portal, request, None, None)
        setRoles(portal, TEST_USER_ID, ['Manager'])

        # we have 2 folders created on the layer right away
        self.root_folders_ids = ['folder-0', 'folder-1']

        # update the dropdownmenu viewlet
        viewlet.update()

        for folder_id in self.root_folders_ids:
            self.assertIn(
                folder_id,
                [tab['id'] for tab in viewlet.portal_tabs]
            )

        setRoles(portal, TEST_USER_ID, ['Member'])
        self.portal = portal
        self.viewlet = viewlet
    def test_dropdowns_depth(self):
        # whether the dropdowns follow the depth setting

        self.setRoles('Manager')

        viewlet = DropdownMenuViewlet(self.portal, self.portal.REQUEST, None,
                                      None)
        viewlet.update()

        self.assertEqual(
            viewlet.dropdown_properties.getProperty('dropdown_depth'), 3)

        # 3 is too deep for the test - let's decrease it to 1
        # to see only 1 more level below top folders' tabs
        dropdown_properties = getToolByName(
            self.portal, 'portal_properties').dropdown_properties
        dropdown_properties.manage_changeProperties(dropdown_depth=1)
        self.assertEqual(
            viewlet.dropdown_properties.getProperty('dropdown_depth'), 1)

        # dummy structure at first
        # XXX I bet there should be a better way of adding content recursively,
        # but for test this might be good enough
        root_folders_ids = []
        for i in range(2):
            self.portal.invokeFactory('Folder', 'folder-%s' % i)
            root_folders_ids.append('folder-%s' % i)
            root_folder = getattr(self.portal, 'folder-%s' % i)
            for k in range(2):
                root_folder.invokeFactory('Folder',
                                          'folder-%s-sub-%s' % (i, k))
                first_level = getattr(root_folder, 'folder-%s-sub-%s' % (i, k))
                for m in range(2):
                    first_level.invokeFactory(
                        'Folder', 'folder-%s-sub-%s-sub-%s' % (i, k, m))

        # let's play with folder-0
        folder_with_dd = getattr(self.portal, 'folder-0')
        folder_with_dd_url = folder_with_dd.absolute_url()

        # dropdown for folder-0 exists?
        self.failIf(viewlet.getTabObject(folder_with_dd_url) == '')

        # do we have first-level subfolder? We should
        self.failUnless(
            'folder-0-sub-0' in viewlet.getTabObject(folder_with_dd_url))

        # do we have second-level subfolder? We should not
        self.failIf(
            'folder-0-sub-0-sub-0' in viewlet.getTabObject(folder_with_dd_url))
    def test_dropdowns_depth(self):
        # whether the dropdowns follow the depth setting

        self.setRoles('Manager')

        viewlet = DropdownMenuViewlet(self.portal, self.portal.REQUEST, None,
                                      None)
        viewlet.update()

        self.assertEqual(viewlet.dropdown_properties.getProperty(
                'dropdown_depth'), 3)

        # 3 is too deep for the test - let's decrease it to 1
        # to see only 1 more level below top folders' tabs
        dropdown_properties = getToolByName(
            self.portal, 'portal_properties').dropdown_properties
        dropdown_properties.manage_changeProperties(dropdown_depth=1)
        self.assertEqual(viewlet.dropdown_properties.getProperty(
                'dropdown_depth'), 1)

        # dummy structure at first
        # XXX I bet there should be a better way of adding content recursively,
        # but for test this might be good enough
        root_folders_ids = []
        for i in range(2):
            self.portal.invokeFactory('Folder', 'folder-%s' % i)
            root_folders_ids.append('folder-%s' % i)
            root_folder = getattr(self.portal, 'folder-%s' % i)
            for k in range(2):
                root_folder.invokeFactory(
                    'Folder', 'folder-%s-sub-%s' % (i, k))
                first_level = getattr(root_folder, 'folder-%s-sub-%s' % (i, k))
                for m in range(2):
                    first_level.invokeFactory(
                        'Folder', 'folder-%s-sub-%s-sub-%s' % (i, k, m))

        # let's play with folder-0
        folder_with_dd = getattr(self.portal, 'folder-0')
        folder_with_dd_url = folder_with_dd.absolute_url()

        # dropdown for folder-0 exists?
        self.failIf(viewlet.getTabObject(folder_with_dd_url) == '')

        # do we have first-level subfolder? We should
        self.failUnless('folder-0-sub-0'
                        in viewlet.getTabObject(folder_with_dd_url))

        # do we have second-level subfolder? We should not
        self.failIf('folder-0-sub-0-sub-0'
                    in viewlet.getTabObject(folder_with_dd_url))
    def test_dropdowns_availability(self):
        # whether we get dropdownmenu at all

        self.setRoles('Manager')

        # dummy structure at first
        root_folders_ids = []
        for i in range(2):
            self.portal.invokeFactory('Folder', 'folder-%s' % i)
            root_folders_ids.append('folder-%s' % i)

        # update the dropdownmenu viewlet
        viewlet = DropdownMenuViewlet(self.portal, self.portal.REQUEST, None,
                                      None)
        viewlet.update()

        for folder_id in root_folders_ids:
            self.failUnless(
                folder_id in [tab['id'] for tab in viewlet.portal_tabs])

        # since we don't have subfolders yet, we should not have dropdowns
        for tab_url in [
                getattr(self.portal, folder_id).absolute_url()
                for folder_id in root_folders_ids
        ]:
            self.assertEqual(viewlet.getTabObject(tab_url), '')

        # now we add some subfolders to one of the folders
        folder_with_dd = getattr(self.portal, 'folder-0')
        for i in range(2):
            folder_with_dd.invokeFactory('Folder', 'sub-%s' % i)

        folder_with_dd_url = folder_with_dd.absolute_url()
        self.failIf(viewlet.getTabObject(folder_with_dd_url) == '')
        self.failUnless('<a href="http://nohost/plone/folder-0/sub-0"' in
                        viewlet.getTabObject(folder_with_dd_url))