def test_turning_automatic_off_materializes_filled_in_blocks(self): self.repository['normal'] = TestContentType() leader = TestContentType() leader.lead_candidate = True self.repository['leader'] = leader lead = self.repository['cp']['lead'] lead.count = 5 lead.automatic = True lead.automatic_type = 'query' zope.component.getAdapter( lead, zeit.edit.interfaces.IElementFactory, name='rss')() with mock.patch('zeit.find.search.search') as search: return_values = [ [dict(uniqueId='http://xml.zeit.de/normal'), dict(uniqueId='http://xml.zeit.de/leader')], [], [], [] ] search.side_effect = lambda *args, **kw: return_values.pop(0) lead.automatic = False result = lead.values() self.assertEqual( ['teaser', 'teaser', 'rss'], [x.type for x in result]) self.assertEqual( 'http://xml.zeit.de/leader', list(result[0])[0].uniqueId) self.assertEqual( 'http://xml.zeit.de/normal', list(result[1])[0].uniqueId)
def test_only_marked_articles_are_put_into_leader_block(self): self.repository['normal'] = TestContentType() leader = TestContentType() leader.lead_candidate = True self.repository['leader'] = leader lead = self.repository['cp']['lead'] lead.count = 2 lead.automatic = True lead.automatic_type = 'query' with mock.patch('zeit.find.search.search') as search: search.return_value = [dict(uniqueId='http://xml.zeit.de/normal'), dict(uniqueId='http://xml.zeit.de/leader')] result = IRenderedArea(lead).values() self.assertEqual( 'http://xml.zeit.de/leader', list(result[0])[0].uniqueId) self.assertEqual( 'http://xml.zeit.de/normal', list(result[1])[0].uniqueId)
def get_content(self): from zeit.cms.testcontenttype.testcontenttype import TestContentType return TestContentType()