def setUp(self): super(SearchTests, self).setUp() self.root = placefulSetUp(True) setUpZCML(self) import quotationtool.search XMLConfig('configure.zcml', quotationtool.search)() hooks.setSite(self.root) # we need a transaction from zope.security.management import newInteraction interaction = newInteraction() testing.generateCategorizableItemDescriptions(self.root) testing.generateCategoriesContainer(self.root) testing.setUpIntIds(self) testing.setUpIndices(self) testing.setUpRelationCatalog(self) self.root['item1'] = item1 = testing.Categorizable() self.root['item2'] = item2 = testing.Categorizable() from zope.intid.interfaces import IIntIds self.intids = zope.component.getUtility(IIntIds, context=self.root) self.intids.register(self.root['item1']) self.intids.register(self.root['item2']) attribution1 = interfaces.IAttribution(item1) attribution1.set(('cat11', 'cat21', 'cat31',)) attribution2 = interfaces.IAttribution(item2) attribution2.set(('cat12', 'cat22', 'cat32',)) from quotationtool.search.searcher import QuotationtoolSearchFilter zope.interface.classImplements( QuotationtoolSearchFilter, interfaces.IAttributionSearchFilter)
def test_FinishedEditorItem(self): from quotationtool.categorization.browser import attribution classifySubscriber(self.root['item'], None) request = TestRequest(form={ 'attribution.widgets.set1': u'cat13', 'attribution.widgets.set2': u'cat23', 'attribution.widgets.set3': u'cat33', 'form.widgets.workflow-message': u'OK?', 'form.buttons.finish': u"Finish"}) pagelet = attribution.EditorBranchForm( self.editor_items.pop(), request) pagelet.update() self.assertTrue(interfaces.IAttribution(self.root['item']).isAttributed('cat13')) self.assertTrue(interfaces.IAttribution(self.root['item']).isAttributed('cat23')) self.assertTrue(interfaces.IAttribution(self.root['item']).isAttributed('cat33')) self.assertTrue(not interfaces.IAttribution(self.root['item']).isAttributed('cat11')) self.assertTrue(len(self.editor_items.values()) == 0)
def test_DisplayFormWidgetValue(self): from quotationtool.categorization.browser import attribution attr = interfaces.IAttribution(self.root['item']) attr.set(['cat12']) pagelet = attribution.DisplayForm(self.root['item'], TestRequest()) pagelet.update() self.assertTrue(pagelet.widgets['set1'].value == ['cat12']) self.assertTrue(u"checked=\"checked\"" in pagelet.render())
def test_EditorialReviewItem(self): from quotationtool.categorization.browser import attribution classifySubscriber(self.root['item'], None) cntr = self.contributor_items.pop() cntr.finish('finish', u"Done") request = TestRequest(form={ 'attribution.widgets.set1': u'cat13', 'attribution.widgets.set2': u'cat23', 'attribution.widgets.set3': u'cat33', 'form.widgets.workflow-message': u'OK', 'form.buttons.finish': u"Finish"}) pagelet = attribution.EditorialReviewForm( self.editor_items.pop(), request) pagelet.update() self.assertTrue(pagelet.message() == u"OK") # now saved on database item self.assertTrue(interfaces.IAttribution(self.root['item']).isAttributed('cat13')) self.assertTrue(interfaces.IAttribution(self.root['item']).isAttributed('cat23')) self.assertTrue(interfaces.IAttribution(self.root['item']).isAttributed('cat33')) self.assertTrue(not interfaces.IAttribution(self.root['item']).isAttributed('cat11')) self.assertTrue(len(self.editor_items.values()) == 0)