From f96fe7f4b21d8db3414bcb78ce15e152a47166b8 Mon Sep 17 00:00:00 2001 From: Rafael Monnerat <rafael@nexedi.com> Date: Wed, 8 Oct 2008 03:01:38 +0000 Subject: [PATCH] Removed. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@24085 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../TestTemplateItem/testGadgets.py | 857 ------------------ bt5/erp5_knowledge_pad/bt/revision | 2 +- .../bt/template_test_id_list | 1 - 3 files changed, 1 insertion(+), 859 deletions(-) delete mode 100644 bt5/erp5_knowledge_pad/TestTemplateItem/testGadgets.py diff --git a/bt5/erp5_knowledge_pad/TestTemplateItem/testGadgets.py b/bt5/erp5_knowledge_pad/TestTemplateItem/testGadgets.py deleted file mode 100644 index 977d28df9b..0000000000 --- a/bt5/erp5_knowledge_pad/TestTemplateItem/testGadgets.py +++ /dev/null @@ -1,857 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved. -# Ivan Tyagov <ivan@nexedi.com> -# -# WARNING: This program as such is intended to be used by professional -# programmers who take the whole responsability of assessing all potential -# consequences resulting from its eventual inadequacies and bugs -# End users who are looking for a ready-to-use solution with commercial -# garantees and support are strongly adviced to contract a Free Software -# Service Company -# -# This program is Free Software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################## - -import unittest -from Testing import ZopeTestCase -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase -from AccessControl.SecurityManagement import newSecurityManager -from zLOG import LOG - -def _getGadgetInstanceUrlFromKnowledgePad(knowledge_pad, gadget): - """ Get Knowledge Box's relative URL specialising a gadget in a Knowledge Pad.""" - return knowledge_pad.searchFolder( - portal_type = 'Knowledge Box', - specialise_uid = gadget.getUid())[0].getObject().getRelativeUrl() - -class TestGadgets(ERP5TypeTestCase, ZopeTestCase.Functional): - """Test Gadgets - """ - run_all_test = 1 - quiet = 0 - manager_username = 'ivan' - manager_password = '' - - def getBusinessTemplateList(self): - return ('erp5_base', 'erp5_knowledge_pad', 'erp5_web', - 'erp5_ingestion', 'erp5_crm', 'erp5_pdm', 'erp5_trade', - 'erp5_dms', 'erp5_dms_mysql_innodb_catalog', - 'erp5_project', 'erp5_km') - - def getTitle(self): - return "Gadgets" - - def afterSetUp(self): - self.login() - portal = self.getPortal() - web_site_module = portal.web_site_module - self.website = web_site_module.newContent(portal_type='Web Site') - self.websection = self.website.newContent(portal_type='Web Section') - self.webpage = portal.web_page_module.newContent( - portal_type = 'Web Page', - reference = 'web-page-reference', - language = 'en') - self.auth = '%s:%s' % (self.manager_username, self.manager_password) - self.web_site_url = '%s/web_site_module/%s' %(portal.getId(), self.website.getId()) - self.web_section_url = '%s/%s' %(self.web_site_url, self.websection.getId()) - self.web_page_url = '%s/web_page_module/%s' %(self.web_site_url, self.webpage.getId()) - web_front_knowledge_pad_relative_url = self.website.ERP5Site_addNewKnowledgePad( \ - pad_title = 'Web Front Knowledge Pad', \ - mode='web_front') - self.web_front_knowledge_pad = portal.restrictedTraverse( - web_front_knowledge_pad_relative_url) - self.base_url_pattern = '%s/%s?parent_web_section_url=%s&box_relative_url=%s&is_gadget_mode=1' - - # Web Section Pad - web_section_knowledge_pad_relative_url = self.websection.ERP5Site_addNewKnowledgePad( \ - pad_title = 'Web Section Knowledge Pad', \ - mode = 'web_section') - self.web_section_knowledge_pad = portal.restrictedTraverse( - web_section_knowledge_pad_relative_url) - # Web Section Content Pad - self.web_section_content_knowledge_pad_relative_url = self.webpage.ERP5Site_addNewKnowledgePad( - pad_title = 'Web Section Knowledge Pad', \ - mode = 'web_section') - self.web_section_content_knowledge_pad = portal.restrictedTraverse( - self.web_section_content_knowledge_pad_relative_url) - get_transaction().commit() - self.tic() - - - def login(self, quiet=0, run=run_all_test): - uf = self.getPortal().acl_users - uf._doAddUser('ivan', '', ['Manager'], []) - uf._doAddUser('ERP5TypeTestCase', '', ['Manager'], []) - user = uf.getUserById('ivan').__of__(uf) - newSecurityManager(None, user) - - def test_01ProperPoolInitialization(self, quiet=quiet, run=run_all_test): - """ Check that it's properly initialized """ - if not run: return - portal = self.getPortal() - self.assertNotEqual(None, - getattr(portal, 'portal_gadgets', None)) - - def test_02(self, quiet=quiet, run=run_all_test): - """ Check Gadgets """ - if not run: return - portal = self.getPortal() - knowledge_pad_module = getattr(portal, 'knowledge_pad_module') - # remove created by login method pads - knowledge_pad_module.manage_delObjects(list(knowledge_pad_module.objectIds())) - get_transaction().commit() - self.tic() - - portal.ERP5Site_createDefaultKnowledgePadListForUser() - get_transaction().commit() - self.tic() - self.assertEqual(1, - len(knowledge_pad_module.searchFolder(portal_type='Knowledge Pad'))) - default_pad = knowledge_pad_module.searchFolder( - portal_type='Knowledge Pad')[0].getObject() - self.assertEqual(None, - default_pad.getPublicationSection()) - self.assertEqual('visible', - default_pad.getValidationState()) - - # add box, test if box visible - gadget = portal.portal_gadgets.erp5_persons - kw = {'uids': (gadget.getUid(),), - 'listbox_list_selection_name': '',} - default_pad.KnowledgePad_addBoxList(**kw) - box = default_pad.contentValues(portal_type='Knowledge Box')[0] - self.assertEqual('visible', box.getValidationState()) - - # toggle box state - portal.KnowledgeBox_toggleVisibility(box.getRelativeUrl()) - self.assertEqual('invisible', box.getValidationState()) - portal.KnowledgeBox_toggleVisibility(box.getRelativeUrl()) - self.assertEqual('visible', box.getValidationState()) - portal.KnowledgePad_deleteBox(box.getRelativeUrl()) - self.assertEqual('deleted', box.getValidationState()) - - # add new pad - portal.ERP5Site_addNewKnowledgePad(pad_title='Test') - get_transaction().commit() - self.tic() - pads = knowledge_pad_module.ERP5Site_getKnowledgePadListForUser() - self.assertEqual(2, len(pads)) - for pad in pads: - pad = pad.getObject() - if pad == default_pad: - # default (first) pad is invisible now - self.assertEqual('invisible', pad.getValidationState()) - else: - self.assertEqual('visible', pad.getValidationState()) - self.assertEqual(0, - len(pad.searchFolder(portal_type='Knowledge Box'))) - new_pad = pad - - self.assertEqual(new_pad, - portal.ERP5Site_getActiveKnowledgePadForUser(pads)[0].getObject()) - - # remove newly added tab, check visibility - portal.ERP5Site_deleteKnowledgePad(new_pad.getRelativeUrl()) - get_transaction().commit() - self.tic() - pads = knowledge_pad_module.ERP5Site_getKnowledgePadListForUser() - self.assertEqual(1, len(pads)) - self.assertEqual(default_pad, - portal.ERP5Site_getActiveKnowledgePadForUser(pads)[0].getObject()) - manuallly_created_pad = knowledge_pad_module.newContent(portal_type='Knowledge Pad') - portal.ERP5Site_toggleActiveKnowledgePad(manuallly_created_pad.getRelativeUrl()) - get_transaction().commit() - self.tic() - self.assertEqual('invisible', default_pad.getValidationState()) - - # check for Web context (i.e. Site/Section) - website = self.website - website.ERP5Site_createDefaultKnowledgePadListForUser(mode='web_front') - get_transaction().commit() - self.tic() - website_pads = website.ERP5Site_getKnowledgePadListForUser(mode='web_front') - self.assertEqual(1, len(website_pads)) - self.assertEqual(website, website_pads[0].getPublicationSectionValue()) - - # depending on context we should have different list of pads for user - self.assertNotEqual(portal.ERP5Site_getKnowledgePadListForUser(), - website.ERP5Site_getKnowledgePadListForUser()) - - # check Web Section - pad_group = None - websection = self.websection - websection.ERP5Site_createDefaultKnowledgePadListForUser( - mode='web_section', - default_pad_group = pad_group) - get_transaction().commit() - self.tic() - websection_pads = websection.ERP5Site_getKnowledgePadListForUser( - mode='web_section', - default_pad_group = pad_group) - base_websection_pad, websection_pads = \ - websection.WebSite_getActiveKnowledgePadForUser(websection_pads, - default_pad_group = pad_group) - - # Check stick - websection.WebSection_stickKnowledgePad( - base_websection_pad.getRelativeUrl(), '') - get_transaction().commit() - self.tic() - websection_pads = websection.ERP5Site_getKnowledgePadListForUser( - mode='web_section', - default_pad_group = pad_group) - current_websection_pad, websection_pads = \ - websection.WebSite_getActiveKnowledgePadForUser(websection_pads, - default_pad_group = pad_group) - self.assertNotEqual(base_websection_pad.getObject(), - current_websection_pad.getObject()) - - # check unstick - websection.WebSection_unStickKnowledgePad(current_websection_pad.getRelativeUrl(), '') - - websection_pads = websection.ERP5Site_getKnowledgePadListForUser( - mode='web_section', - default_pad_group = pad_group) - current_websection_pad, websection_pads = \ - websection.WebSite_getActiveKnowledgePadForUser(websection_pads, - default_pad_group = pad_group) - self.assertEqual(base_websection_pad.getObject(), - current_websection_pad.getObject()) - - def test_03DefaultKnowledgePadFromPreference(self, quiet=quiet, run=run_all_test): - """ Check Gadgets """ - if not run: return - portal = self.getPortal() - website = self.website - websection = self.websection - default_pad_group = 'default_section_pad' - default_pad_group_section_content_title = 'default_content_pad' - - knowledge_pad_module = getattr(portal, 'knowledge_pad_module') - knowledge_pad_module.manage_delObjects(list(knowledge_pad_module.objectIds())) - self.assertEqual(0, - len(knowledge_pad_module.objectValues(portal_type='Knowledge Pad'))) - - # create 4 knowledge pad in active preference for every mode - # (ERP5, Web Site front, Web Section, Web Section content) - user_pref =portal.portal_preferences.getActivePreference() - if user_pref is None: - # enable the default site wide preference - user_pref = portal.portal_preferences.objectValues(portal_type='Preference')[0] - user_pref.enable() - get_transaction().commit() - self.tic() - self.assertNotEqual(None, portal.portal_preferences.getActivePreference()) - - # Create knowledge pads in active preference - # ERP5 mode - erp5_knowledge_pad = user_pref.newContent(portal_type = 'Knowledge Pad', - title = "erp5") - erp5_knowledge_pad1 = erp5_knowledge_pad.newContent(portal_type = 'Knowledge Box', - title = "erp5_1") - erp5_knowledge_pad.visible(); - erp5_knowledge_pad.public() - erp5_knowledge_pad1.visible(); - erp5_knowledge_pad1.public() - - # Web front mode - web_front_knowledge_pad = user_pref.newContent(portal_type = 'Knowledge Pad', - title = "web") - web_front_knowledge_pad.setPublicationSectionValue(website) - web_front_knowledge_pad1 = web_front_knowledge_pad.newContent(portal_type = 'Knowledge Box', - title = "web_1") - web_front_knowledge_pad.visible(); - web_front_knowledge_pad.public() - web_front_knowledge_pad1.visible(); - web_front_knowledge_pad1.public() - - # Web Section mode - websection_knowledge_pad = user_pref.newContent(portal_type = 'Knowledge Pad', - title = "web_section") - websection_knowledge_pad.setGroupValue(default_pad_group) - websection_knowledge_pad1 = websection_knowledge_pad.newContent( \ - portal_type = 'Knowledge Box', - title = "web_section_1") - websection_knowledge_pad.visible(); - websection_knowledge_pad.public() - websection_knowledge_pad1.visible(); - websection_knowledge_pad1.public() - - # Web Section content mode - websection_content_knowledge_pad = user_pref.newContent( \ - portal_type = 'Knowledge Pad', \ - title = "web_section_content") - websection_content_knowledge_pad.setGroupValue(default_pad_group_section_content_title) - websection_content_knowledge_pad1 = websection_content_knowledge_pad.newContent( \ - portal_type = 'Knowledge Box', \ - title = "web_section_content_1") - websection_content_knowledge_pad.visible(); - websection_content_knowledge_pad.public() - websection_content_knowledge_pad1.visible(); - websection_content_knowledge_pad1.public() - get_transaction().commit() - self.tic() - - # check that 4 different modes return knowledge_pads from preference - # ERP5 front - knowledge_pads = portal.ERP5Site_getKnowledgePadListForUser(mode="erp5_front") - self.assertEqual(1, len(knowledge_pads)) - self.assertEqual(erp5_knowledge_pad, knowledge_pads[0].getObject()) - - # web_front - knowledge_pads = website.ERP5Site_getKnowledgePadListForUser(mode="web_front") - self.assertEqual(1, len(knowledge_pads)) - self.assertEqual(web_front_knowledge_pad, - knowledge_pads[0].getObject()) - - # web_section - knowledge_pads = websection.ERP5Site_getKnowledgePadListForUser( \ - mode="web_section", \ - default_pad_group = default_pad_group) - self.assertEqual(1, len(knowledge_pads)) - self.assertEqual(websection_knowledge_pad, - knowledge_pads[0].getObject()) - - # web_section content - knowledge_pads = websection.ERP5Site_getKnowledgePadListForUser( \ - mode="web_section", \ - default_pad_group = default_pad_group_section_content_title) - self.assertEqual(1, len(knowledge_pads)) - self.assertEqual(websection_content_knowledge_pad, - knowledge_pads[0].getObject()) - - # Check that creating a real knowledge pad from active preference (knowledge pad as a template) - # is possible and it's exactly the same as original in preference - # ERP5 front - portal.ERP5Site_createDefaultKnowledgePadListForUser(mode='erp5_front') - get_transaction().commit() - self.tic() - erp5_knowledge_pad = portal.ERP5Site_getKnowledgePadListForUser( - mode="erp5_front")[0].getObject() - self.assertEqual(portal.knowledge_pad_module, - erp5_knowledge_pad.getParentValue()) - self.assertEqual("erp5", - erp5_knowledge_pad.getTitle()) - self.assertEqual("visible", - erp5_knowledge_pad.getValidationState()) - self.assertEqual("erp5_1", - erp5_knowledge_pad.objectValues()[0].getTitle()) - self.assertEqual("visible", - erp5_knowledge_pad.objectValues()[0].getValidationState()) - - # Web Site front - website.ERP5Site_createDefaultKnowledgePadListForUser(mode='web_front') - get_transaction().commit() - self.tic() - web_knowledge_pad = website.ERP5Site_getKnowledgePadListForUser( - mode="web_front")[0].getObject() - self.assertEqual(portal.knowledge_pad_module, - erp5_knowledge_pad.getParentValue()) - self.assertEqual("web", - web_knowledge_pad.getTitle()) - self.assertEqual("visible", - web_knowledge_pad.getValidationState()) - self.assertEqual("web_1", - web_knowledge_pad.objectValues()[0].getTitle()) - self.assertEqual("visible", - web_knowledge_pad.objectValues()[0].getValidationState()) - - # Web Section - websection.ERP5Site_createDefaultKnowledgePadListForUser( \ - mode='web_section', \ - default_pad_group = default_pad_group) - get_transaction().commit() - self.tic() - websection_knowledge_pad = websection.ERP5Site_getKnowledgePadListForUser( \ - mode="web_section", \ - default_pad_group = default_pad_group)[0].getObject() - self.assertEqual(portal.knowledge_pad_module, - websection_knowledge_pad.getParentValue()) - self.assertEqual("web_section", - websection_knowledge_pad.getTitle()) - self.assertEqual("visible", - websection_knowledge_pad.getValidationState()) - self.assertEqual("web_section_1", - websection_knowledge_pad.objectValues()[0].getTitle()) - self.assertEqual("visible", - websection_knowledge_pad.objectValues()[0].getValidationState()) - - # Web Section content - websection.ERP5Site_createDefaultKnowledgePadListForUser( \ - mode='web_section', \ - default_pad_group = default_pad_group_section_content_title) - get_transaction().commit() - self.tic() - websection_content_knowledge_pad = websection.ERP5Site_getKnowledgePadListForUser( \ - mode="web_section", \ - default_pad_group = default_pad_group_section_content_title)[0].getObject() - self.assertEqual(portal.knowledge_pad_module, - websection_content_knowledge_pad.getParentValue()) - self.assertEqual("web_section_content", - websection_content_knowledge_pad.getTitle()) - self.assertEqual("visible", - websection_content_knowledge_pad.getValidationState()) - self.assertEqual("web_section_content_1", - websection_content_knowledge_pad.objectValues()[0].getTitle()) - self.assertEqual("visible", - websection_content_knowledge_pad.objectValues()[0].getValidationState()) - - def test_04WebFrontGagets(self, quiet=quiet, run=run_all_test): - """ Check different Web / KM Gadgets """ - if not run: return - portal = self.getPortal() - request = self.app.REQUEST - - # all known so far gadgets - portal_gadgets = portal.portal_gadgets - km_my_tasks_gadget = portal_gadgets.km_my_tasks - km_my_documents_gadget = portal_gadgets.km_my_documents - km_my_contacts_gadget = portal_gadgets.km_my_contacts - - response = self.publish('%s/WebSite_viewHomeAreaFormRenderer' %self.web_site_url, self.auth) - self.failUnless(self.web_front_knowledge_pad.getTitle() in response.getBody()) - - # Web Front gadgets - web_front_gadgets = [km_my_tasks_gadget, km_my_documents_gadget, km_my_contacts_gadget] - for gadget in web_front_gadgets: - self.web_front_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[gadget.getUid()]}) - get_transaction().commit() - self.tic() - - # check that gadgets are added to web front page view - response = self.publish('%s/WebSite_viewHomeAreaFormRenderer' %self.web_site_url, self.auth) - for gadget in web_front_gadgets: - self.failUnless(gadget.getTitle() in response.getBody()) - - def test_05MyTaskGaget(self, quiet=quiet, run=run_all_test): - """ Check My Task Gadgets """ - if not run: return - portal = self.getPortal() - km_my_tasks_gadget = portal.portal_gadgets.km_my_tasks - - # add gadget - self.web_front_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[km_my_tasks_gadget.getUid()]}) - - # "My Tasks" gadget (add a new document which should be shown shown in it) - project = portal.project_module.newContent(portal_type = 'Project', \ - title = 'Project: title (斜褗谢谐邪褉褋泻懈)') - visit = portal.event_module.newContent(portal_type = 'Visit', \ - title = 'Visit: title (斜褗谢谐邪褉褋泻懈)') - get_transaction().commit() - self.tic() - # simulate asynchronous gadget view (on Web Site, Web Section,Web Section content ) - gadget_view_form_id = km_my_tasks_gadget.view_form_id - km_my_tasks_box_url = _getGadgetInstanceUrlFromKnowledgePad( \ - self.web_front_knowledge_pad, \ - km_my_tasks_gadget) - for response in [ - self.publish(self.base_url_pattern %(self.web_site_url, - gadget_view_form_id, - self.website.getRelativeUrl(), - km_my_tasks_box_url ) - , self.auth), - self.publish(self.base_url_pattern %(self.web_section_url, - gadget_view_form_id, - self.websection.getRelativeUrl(), - km_my_tasks_box_url) - , self.auth), - self.publish(self.base_url_pattern %(self.web_page_url, - gadget_view_form_id, - self.webpage.getRelativeUrl(), - km_my_tasks_box_url) - , self.auth)]: - self.failUnless(project.getTitle() in response.getBody()) - self.failUnless(visit.getTitle() in response.getBody()) - - def test_06MyDocumentsGadget(self, quiet=quiet, run=run_all_test): - """ Check My Document Gadgets """ - if not run: return - portal = self.getPortal() - km_my_documents_gadget = portal.portal_gadgets.km_my_documents - - # add gadget - self.web_front_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[km_my_documents_gadget.getUid()]}) - - # "My Documents" gadget (add a new document which should be shown shown in it) - web_page = portal.web_page_module.newContent( \ - portal_type = 'Web Page', \ - reference = 'web-page-123', \ - title = 'Web Page: title 123 (斜褗谢谐邪褉褋泻懈)') - presentation = portal.document_module.newContent( \ - portal_type = 'Presentation', \ - reference = 'presentation-456', - title = 'Presentation: title 456 (斜褗谢谐邪褉褋泻懈)') - get_transaction().commit() - self.tic() - # simulate asynchronous gadget view (on Web Site, Web Section,Web Section content ) - gadget_view_form_id = km_my_documents_gadget.view_form_id - km_my_documents_gadget_box_url = _getGadgetInstanceUrlFromKnowledgePad( \ - self.web_front_knowledge_pad, \ - km_my_documents_gadget) - for response in [ - self.publish(self.base_url_pattern %(self.web_site_url, - gadget_view_form_id, - self.website.getRelativeUrl(), - km_my_documents_gadget_box_url) - , self.auth), - self.publish(self.base_url_pattern %(self.web_section_url, - gadget_view_form_id, - self.websection.getRelativeUrl(), - km_my_documents_gadget_box_url) - , self.auth), - self.publish(self.base_url_pattern %(self.web_page_url, - gadget_view_form_id, - self.webpage.getRelativeUrl(), - km_my_documents_gadget_box_url) - , self.auth)]: - self.failUnless(web_page.getReference() in response.getBody()) - self.failUnless(presentation.getReference() in response.getBody()) - - def test_07MyContactsGadget(self, quiet=quiet, run=run_all_test): - """ Check My Contacts Gadgets """ - if not run: return - portal = self.getPortal() - km_my_contacts_gadget = portal.portal_gadgets.km_my_contacts - - # add gadget - self.web_front_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[km_my_contacts_gadget.getUid()]}) - - # "My Contacts" gadget (add a new document which should be shown shown in it) - person = portal.person_module.newContent(portal_type = 'Person', - title = 'John Doe') - get_transaction().commit() - self.tic() - # simulate asynchronous gadget view (on Web Site, Web Section,Web Section content ) - gadget_view_form_id = km_my_contacts_gadget.view_form_id - km_my_contacts_gadget_box_url = _getGadgetInstanceUrlFromKnowledgePad( - self.web_front_knowledge_pad, - km_my_contacts_gadget) - for response in [ - self.publish(self.base_url_pattern %(self.web_site_url, - gadget_view_form_id, - self.website.getRelativeUrl(), - km_my_contacts_gadget_box_url) - , self.auth), - self.publish(self.base_url_pattern %(self.web_section_url, - gadget_view_form_id, - self.websection.getRelativeUrl(), - km_my_contacts_gadget_box_url) - , self.auth), - self.publish(self.base_url_pattern %(self.web_page_url, - gadget_view_form_id, - self.webpage.getRelativeUrl(), - km_my_contacts_gadget_box_url) - , self.auth)]: - self.failUnless(person.getTitle() in response.getBody()) - - def test_08WebSectionGadget(self, quiet=quiet, run=run_all_test): - """ Check Web Section Gadgets """ - if not run: return - portal = self.getPortal() - km_subsection_gadget = portal.portal_gadgets.km_subsection - km_latest_documents_gadget = portal.portal_gadgets.km_latest_documents - km_assigned_member_gadget = portal.portal_gadgets.km_assigned_member - km_document_relations_gadget = portal.portal_gadgets.km_document_relations - - web_section_gadgets = [km_subsection_gadget, - km_latest_documents_gadget, - km_assigned_member_gadget] - for gadget in web_section_gadgets: - self.web_section_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[gadget.getUid()]}) - get_transaction().commit() - self.tic() - - # check that gadgets are added to web section page view - response = self.publish('%s/WebSection_viewColumnOne' %self.web_section_url, self.auth) - for gadget in web_section_gadgets: - self.failUnless(gadget.getTitle() in response.getBody()) - - def test_09SubsectionGadget(self, quiet=quiet, run=run_all_test): - """ Check Subsection Gadgets """ - if not run: return - portal = self.getPortal() - km_subsection_gadget = portal.portal_gadgets.km_subsection - - # add gadget - self.web_section_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[km_subsection_gadget.getUid()]}) - get_transaction().commit() - self.tic() - - # "Subsections" gadget - gadget_view_form_id = km_subsection_gadget.view_form_id - km_subsection_gadget_box_url = _getGadgetInstanceUrlFromKnowledgePad( \ - self.web_section_knowledge_pad, \ - km_subsection_gadget) - self.failUnless('No subsections found.' in - self.publish(self.base_url_pattern %(self.web_section_url, - gadget_view_form_id, - self.websection.getRelativeUrl(), - km_subsection_gadget_box_url) - , self.auth).getBody()) - # .. create subsection and make sure it appears in gadget - subsection = self.websection.newContent(portal_type='Web Section', - title='Sub Section 12345') - get_transaction().commit() - self.tic() - self.failUnless(subsection.getTitle() in - self.publish(self.base_url_pattern %(self.web_section_url, - gadget_view_form_id, - self.websection.getRelativeUrl(), - km_subsection_gadget_box_url) - , self.auth).getBody()) - - def test_10LatestContentGadget(self, quiet=quiet, run=run_all_test): - """ Check Latest Content Gadgets """ - if not run: return - portal = self.getPortal() - request = self.app.REQUEST - km_latest_documents_gadget = portal.portal_gadgets.km_latest_documents - - # add gadget - self.web_section_knowledge_pad.KnowledgePad_addBoxList( - **{'uids':[km_latest_documents_gadget.getUid()]}) - - # "Latest Content" gadget - gadget_view_form_id = km_latest_documents_gadget.view_form_id - publication_section_category_id_list = ['documentation', 'administration'] - for category_id in publication_section_category_id_list: - portal.portal_categories.publication_section.newContent(portal_type = 'Category', - id = category_id) - latest_docs_subsection = self.websection.newContent(portal_type='Web Section') - latest_docs_subsection.edit(membership_criterion_base_category = ['publication_section'], - membership_criterion_category=['publication_section/%s' - %publication_section_category_id_list[0]]) - get_transaction().commit() - self.tic() - km_latest_documents_gadget_box_url = _getGadgetInstanceUrlFromKnowledgePad( - self.web_section_knowledge_pad, - km_latest_documents_gadget) - # set here to prevent failing to render a form's field which reads directly requets - request.set('box_relative_url', km_latest_documents_gadget_box_url) - self.failUnless('0 record(s)' in - self.publish(self.base_url_pattern - %(self.web_section_url+'/%s' %latest_docs_subsection.getId(), - gadget_view_form_id, - latest_docs_subsection.getRelativeUrl(), - km_latest_documents_gadget_box_url) - , self.auth).getBody()) - # add some documents to this web section - presentation = portal.document_module.newContent( - portal_type = 'Presentation', - reference = 'Presentation-12456_', - publication_section_list = publication_section_category_id_list[:1]) - presentation.publish() - get_transaction().commit() - self.tic() - self.failUnless(presentation.getReference() in - self.publish(self.base_url_pattern - %(self.web_section_url+'/%s' %latest_docs_subsection.getId(), - gadget_view_form_id, - latest_docs_subsection.getRelativeUrl(), - km_latest_documents_gadget_box_url) - , self.auth).getBody()) - - def test_11AssignedMembersGadget(self, quiet=quiet, run=run_all_test): - """ Check Assigned Members Gadgets """ - if not run: return - portal = self.getPortal() - request = self.app.REQUEST - km_assigned_member_gadget = portal.portal_gadgets.km_assigned_member - - # add gadget - self.web_section_knowledge_pad.KnowledgePad_addBoxList( - **{'uids':[km_assigned_member_gadget.getUid()]}) - gadget_view_form_id = km_assigned_member_gadget.view_form_id - project = portal.project_module.newContent( - portal_type = 'Project', - title='KM Impl') - assigned_members_subsection = self.websection.newContent(portal_type = 'Web Section') - assigned_members_subsection.edit(membership_criterion_base_category = ['follow_up'], - membership_criterion_category = ['follow_up/%s'%project.getId()]) - get_transaction().commit() - self.tic() - km_assigned_member_gadget_box_url = _getGadgetInstanceUrlFromKnowledgePad( - self.web_section_knowledge_pad, - km_assigned_member_gadget) - - self.failUnless('0 record(s)' in - self.publish(self.base_url_pattern - %(self.web_section_url+'/%s' %assigned_members_subsection.getId(), - gadget_view_form_id, - assigned_members_subsection.getRelativeUrl(), - km_assigned_member_gadget_box_url) - , self.auth).getBody()) - # .. add assignment for a person to this project - person = portal.person_module.newContent(portal_type = 'Person', - title = 'John Doe 1.234', - reference = 'person_12345') - assignment = person.newContent(portal_type = 'Assignment') - get_transaction().commit() - self.tic() - self.failUnless('1 record(s)' in - self.publish(self.base_url_pattern - %(self.web_section_url+'/%s' %assigned_members_subsection.getId(), - gadget_view_form_id, - assigned_members_subsection.getRelativeUrl(), - km_assigned_member_gadget_box_url) - , self.auth).getBody()) - self.failUnless(person.getTitle() in - self.publish(self.base_url_pattern - %(self.web_section_url+'/%s' %assigned_members_subsection.getId(), - gadget_view_form_id, - assigned_members_subsection.getRelativeUrl(), - km_assigned_member_gadget_box_url) - , self.auth).getBody()) - - def test_11WebSectionContentGadget(self, quiet=quiet, run=run_all_test): - """ Check Web Section Content Gadgets """ - if not run: return - portal = self.getPortal() - request = self.app.REQUEST - - km_document_relations_gadget = portal.portal_gadgets.km_document_relations - web_section_content_gadgets = [km_document_relations_gadget] - for gadget in web_section_content_gadgets: - self.web_section_content_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[gadget.getUid()]}) - get_transaction().commit() - self.tic() - - # check that gadgets are added to web section page view - response = self.publish('%s/WebSection_viewColumnOne' %self.web_page_url, self.auth) - - for gadget in web_section_content_gadgets: - self.failUnless(gadget.getTitle() in response.getBody()) - return - - def test_12RelationGadget(self, quiet=quiet, run=run_all_test): - """ Check Relation Gadgets """ - if not run: return - portal = self.getPortal() - request = self.app.REQUEST - km_document_relations_gadget = portal.portal_gadgets.km_document_relations - - # add gadget - self.web_section_content_knowledge_pad.KnowledgePad_addBoxList( - **{'uids':[km_document_relations_gadget.getUid()]}) - get_transaction().commit() - self.tic() - - # "Relation" gadget - gadget_view_form_id = km_document_relations_gadget.view_form_id - km_document_relations_gadget_box_url = _getGadgetInstanceUrlFromKnowledgePad( - self.web_section_content_knowledge_pad, - km_document_relations_gadget) - # relation gadget requires 'current_web_document' in REQUEST which seems to be set in - # normal web mode in traversal (i.e. it's not available for .publish() - # method - that's why we call it directly) - request.set('is_gadget_mode', 1) - request.set('parent_web_section_url', self.webpage.getRelativeUrl()) - request.set('box_relative_url', km_document_relations_gadget_box_url) - relation_form_renderer = getattr(self.website.web_page_module[self.webpage.getId()], - gadget_view_form_id) - - # no related docs should exist - self.failUnless('No related documents found.' in relation_form_renderer()) - - # set related docs - similar_doc = portal.web_page_module.newContent( - portal_type = 'Web Page', - reference = '1.891', - title = 'Similar document 1.891') - predecessor_doc = portal.document_module.newContent( - portal_type = 'Spreadsheet', - reference = 'r-7.3451', - title = 'Predecessor document r-7.3451') - successor_doc = portal.document_module.newContent( - portal_type = 'Text', - reference = 'a-661ee1', - title = 'Successor document a-661ee1') - self.webpage.setSimilarValueList([similar_doc]) - self.webpage.setPredecessorValueList([predecessor_doc]) - self.webpage.setSuccessorValueList([successor_doc]) - get_transaction().commit() - self.tic() - - # .. should be in gadget html - self.failUnless(similar_doc.getTitle() in relation_form_renderer()) - self.failUnless(predecessor_doc.getTitle() in relation_form_renderer()) - self.failUnless(successor_doc.getTitle() in relation_form_renderer()) - - def test_13AdminToolboxGadget(self, quiet=quiet, run=run_all_test): - """ Check admin toolbox gadget """ - if not run: return - portal = self.getPortal() - request = self.app.REQUEST - km_admin_gadget = portal.portal_gadgets.km_admin - - # add gadget - self.web_section_content_knowledge_pad.KnowledgePad_addBoxList( - **{'uids':[km_admin_gadget.getUid()]}) - get_transaction().commit() - self.tic() - - gadget_view_form_id = km_admin_gadget.view_form_id - km_admin_gadget_box_url = _getGadgetInstanceUrlFromKnowledgePad( - self.web_section_content_knowledge_pad, - km_admin_gadget) - - request.set('is_gadget_mode', 1) - request.set('parent_web_section_url', self.webpage.getRelativeUrl()) - request.set('box_relative_url', km_admin_gadget_box_url) - relation_form_renderer = getattr(self.website.web_page_module[self.webpage.getId()], - gadget_view_form_id) - - # "view" mode for Web Page - request.set('editable_mode', 0) - self.failUnless('Edit Web Page' in relation_form_renderer()) - self.failUnless('Edit Parent Web Site' in relation_form_renderer()) - - # "edit" mode for Web Page - request.set('editable_mode', 1) - self.failUnless('View Web Page' in relation_form_renderer()) - self.failUnless('Edit Parent Web Site' in relation_form_renderer()) - - # "view" mode for Web Section - request.set('editable_mode', 0) - relation_form_renderer = getattr(self.website[self.websection.getId()], - gadget_view_form_id) - self.failUnless('Edit Web Section' in relation_form_renderer()) - - # "edit" mode for Web Section - request.set('editable_mode', 1) - self.failUnless('View Web Section' in relation_form_renderer()) - - # "view" mode for Web Section having a default Web Page - request.set('editable_mode', 0) - self.websection.setAggregateValue(self.webpage) - self.webpage.publish() - get_transaction().commit() - self.tic() - relation_form_renderer = getattr(self.website[self.websection.getId()], - gadget_view_form_id) - self.failUnless('Edit Web Page' in relation_form_renderer()) - self.failUnless('Edit Parent Web Section' in relation_form_renderer()) - - # "edit" mode for Web Section having a default Web Page - request.set('editable_mode', 1) - self.failUnless('View Web Section' in relation_form_renderer()) - -def test_suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestGadgets)) - return suite diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision index 2a9c18ad50..b0e9f8d0ff 100644 --- a/bt5/erp5_knowledge_pad/bt/revision +++ b/bt5/erp5_knowledge_pad/bt/revision @@ -1 +1 @@ -357 \ No newline at end of file +358 \ No newline at end of file diff --git a/bt5/erp5_knowledge_pad/bt/template_test_id_list b/bt5/erp5_knowledge_pad/bt/template_test_id_list index c05f873644..e69de29bb2 100644 --- a/bt5/erp5_knowledge_pad/bt/template_test_id_list +++ b/bt5/erp5_knowledge_pad/bt/template_test_id_list @@ -1 +0,0 @@ -testGadgets \ No newline at end of file -- 2.30.9