From bd462b6b09d115803b0fb93502e76e2084bf68cd Mon Sep 17 00:00:00 2001 From: Ivan Tyagov <ivan@nexedi.com> Date: Tue, 14 Dec 2010 15:06:02 +0000 Subject: [PATCH] Add testing for 'Add Gadgets' API. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@41422 20353a03-c40f-0410-a6d1-a30d3c3de9de --- bt5/erp5_km/TestTemplateItem/testKMGadget.py | 31 ++++++++++++++++++++ bt5/erp5_km/bt/revision | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/bt5/erp5_km/TestTemplateItem/testKMGadget.py b/bt5/erp5_km/TestTemplateItem/testKMGadget.py index cd0fe18782..94d88dc9ee 100644 --- a/bt5/erp5_km/TestTemplateItem/testKMGadget.py +++ b/bt5/erp5_km/TestTemplateItem/testKMGadget.py @@ -840,6 +840,37 @@ class TestGadgets(ERP5TypeTestCase, ZopeTestCase.Functional): self.failUnless(subsection.getTitle() in self.publish(url, self.auth).getBody()) + def test_17AddGadgets(self, quiet=quiet, run=run_all_test): + """ Check Latest Content Gadgets """ + + portal = self.getPortal() + portal_selections = portal.portal_selections + km_my_documents_gadget = portal.portal_gadgets.km_my_documents + km_my_contacts_gadget = portal.portal_gadgets.km_my_contacts + + # test directly adding a gadget + self.web_front_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[km_my_contacts_gadget.getUid()]}) + self.stepTic() + self.assertSameSet([km_my_contacts_gadget], + [x.getSpecialiseValue() for x in self.web_front_knowledge_pad.objectValues()]) + # clean up for rest of test + self.web_front_knowledge_pad.manage_delObjects(list(self.web_front_knowledge_pad.objectIds())) + self.stepTic() + + # in order to emulate a dialog listbox for adding gadgets we need to set selection and its name + # in REQUEST. This test like user selects a gadget from dialog's first page then go to second + # and select again. + selection_name = 'gadget_tool_view_gadget_add_dialog' + self.app.REQUEST.set('list_selection_name', selection_name) + portal.portal_selections.setSelectionParamsFor(selection_name, {'uids':[km_my_documents_gadget.getUid()]}) + self.web_front_knowledge_pad.KnowledgePad_addBoxList(**{'uids':[km_my_contacts_gadget.getUid()]}) + self.stepTic() + # now even though we explicitly add only one gadget KnowledgePad_addBoxList should check and add one + # in listbox selection as well + self.assertSameSet([km_my_documents_gadget, km_my_contacts_gadget], + [x.getSpecialiseValue() for x in self.web_front_knowledge_pad.objectValues()]) + + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestGadgets)) diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision index 4342d81b0c..ad0b314c27 100644 --- a/bt5/erp5_km/bt/revision +++ b/bt5/erp5_km/bt/revision @@ -1 +1 @@ -1721 \ No newline at end of file +1722 -- 2.30.9