Conjunto de mudanças 6467 no repositório publico
- Timestamp:
- 09/06/2012 00:28:48 (9 anos atrás)
- Localização:
- PortalInterlegis/produtos/il.portalinterlegis/src/il/portalinterlegis
- Arquivos:
-
- 4 editados
Legenda:
- Não Modificado
- Adicionado
- Removido
-
PortalInterlegis/produtos/il.portalinterlegis/src/il/portalinterlegis/browser/boxes.py
r6465 r6467 18 18 def _build_box(box_schema, number): 19 19 20 key = _box_key(box_schema, number)21 20 form_label = getattr(box_schema, 'form_label', None) \ 22 21 or u'Edite os valore desta caixa' … … 27 26 class BoxEditForm(form.EditForm, grok.View): 28 27 grok.context(IFolderish) 29 grok.name( 'box_%s' % key)28 grok.name(_box_name_for_url(box_schema, number)) 30 29 label = form_label 31 30 fields = field.Fields(box_schema) … … 34 33 return box_content(self.context, box_schema, number) 35 34 36 globals()['BoxEditForm_%s' % key] = BoxEditForm35 globals()['BoxEditForm_%s' % _box_key(box_schema, number)] = BoxEditForm 37 36 return BoxEditForm 38 37 … … 51 50 return '%s_%s' % (box_schema.__name__, number) 52 51 53 def _build_n_boxes(box_schema, max_number): 52 def _box_name_for_url(box_schema, number): 53 return 'box_%s' % _box_key(box_schema, number) 54 55 def build_n_boxes(box_schema, max_number): 54 56 for number in range(1, max_number+1): 55 57 _build_box(box_schema, number) 56 58 57 ################################################################ 59 ################################################################ 58 60 from interfaces import ISimpleBox 59 61 60 62 for box_schema in [ISimpleBox]: 61 _build_n_boxes(box_schema, 10)63 build_n_boxes(box_schema, 2) -
PortalInterlegis/produtos/il.portalinterlegis/src/il/portalinterlegis/browser/interfaces.py
r6465 r6467 31 31 32 32 class ISimpleBox(Interface): 33 title = schema.TextLine(title=u" title", required=True)34 subtitle = schema.TextLine(title=u" subtitle", required=True)35 text = schema.TextLine(title=u" text", required=True)33 title = schema.TextLine(title=u"Título", required=True) 34 subtitle = schema.TextLine(title=u"Subtítulo", required=True) 35 text = schema.TextLine(title=u"Texto", required=True) -
PortalInterlegis/produtos/il.portalinterlegis/src/il/portalinterlegis/tests/fixtures.py
r6439 r6467 1 from plone.app.testing import PLONE_FIXTURE 2 from plone.app.testing import PloneSandboxLayer 3 from plone.app.testing import IntegrationTesting 4 from plone.app.testing import FunctionalTesting 5 from plone.app.testing import applyProfile 1 # -*- coding: utf-8 -*- 2 from persistent.dict import PersistentDict 3 from plone.app.testing import PLONE_FIXTURE, PloneSandboxLayer, IntegrationTesting, applyProfile 4 from z3c.form import datamanager 5 from z3c.form.interfaces import IDataManager 6 from zope.component import adapts, provideAdapter 7 from zope.configuration import xmlconfig 8 from zope.interface import implements 9 from zope.schema.interfaces import IField 6 10 7 from zope.configuration import xmlconfig8 11 9 12 class IlPortalinterlegis(PloneSandboxLayer): … … 34 37 context=configurationContext) 35 38 39 #TODO: (fazer essa POG do jeito certo, que não sei qual é) 40 # tive de repetir isso aqui pois não sei como esse mesmo trecho 41 # (de browser.boxes) é ativado normalmente, e como reproduzir isso no ambiente de teste 42 class PersistentDictionaryField(datamanager.DictionaryField): 43 adapts(PersistentDict, IField) 44 implements(IDataManager) 45 provideAdapter(PersistentDictionaryField) 46 # fim da POG 36 47 37 48 def setUpPloneSite(self, portal): -
PortalInterlegis/produtos/il.portalinterlegis/src/il/portalinterlegis/tests/tests.py
r6440 r6467 1 1 # -*- coding: utf-8 -*- 2 2 import unittest2 as unittest 3 4 3 from Products.CMFCore.utils import getToolByName 5 4 6 5 from fixtures import IL_PORTALINTERLEGIS_INTEGRATION_TESTING 6 from il.portalinterlegis.browser.boxes import _box_name_for_url, box_content 7 7 from il.portalinterlegis.browser.interfaces import \ 8 IComunidadeLegislativa, IInformacao, ICapacitacao, ITecnologia, IComunicacao 8 IComunidadeLegislativa, IInformacao, ICapacitacao, ITecnologia, IComunicacao, \ 9 ISimpleBox 9 10 from splinterbrowser import SplinterBrowser 11 from plone.testing.z2 import Browser 10 12 11 class Test Example(unittest.TestCase):13 class TestIntegracao(unittest.TestCase): 12 14 13 15 layer = IL_PORTALINTERLEGIS_INTEGRATION_TESTING 14 15 16 def setUp(self): 16 17 self.app = self.layer['app'] … … 33 34 # https://github.com/cobrateam/splinter/pull/152 34 35 # for aceito no Splinter 35 print [li.find_by_tag('a').first.text36 for li in browser.find_by_css('#portal-globalnav li')]37 36 self.assertEqual([u'O Interlegis', 38 37 u'Comunidade Legislativa', … … 55 54 self.assertEqual('home', obj.getLayout()) 56 55 56 def browser(self, url=None): 57 browser = Browser(self.app) 58 browser.handleErrors = False 59 if url: 60 browser.open(url) 61 return browser 62 63 def test_box_content_is_empty_before_visiting_form(self): 64 self.assertEqual({}, box_content(self.portal, ISimpleBox, 1)) 65 66 def test_using_box_form_creates_box_content(self): 67 box_schema = ISimpleBox 68 num = 1 69 context = self.portal 70 71 url = context.absolute_url() + '/' + _box_name_for_url(box_schema, num) 72 browser = self.browser(url) 73 browser.getControl(name='form.widgets.title').value = 'TIT' 74 browser.getControl(name='form.widgets.subtitle').value = 'SUBTIT' 75 browser.getControl(name='form.widgets.text').value = 'MY TEXT' 76 browser.getControl(name='form.buttons.apply').click() 77 78 self.assertEqual({'text': u'MY TEXT', 'subtitle': u'SUBTIT', 'title': u'TIT'}, 79 box_content(context, box_schema, num))
Note: Veja
TracChangeset
para ajuda no uso do visualizador de conjunto de mudanças.