def test_proposal_can_be_edited_in_browser(self, browser): self.login(self.dossier_responsible, browser) browser.visit(self.draft_proposal) editbar.contentview('Edit').click() self.assertEqual(u'Antrag f\xfcr Kreiselbau', browser.find('Title').value) browser.fill({ 'Title': u'Another pr\xf6posal', 'Attachments': [self.document] }).save() statusmessages.assert_no_error_messages() statusmessages.assert_message('Changes saved') proposal = browser.context browser.open(proposal, view='tabbedview_view-overview') self.assertEquals( [['Title', u'Another pr\xf6posal'], ['Committee', u'Kommission f\xfcr Verkehr'], ['Meeting', ''], ['Proposal document', u'Antrag f\xfcr Kreiselbau'], ['State', 'Pending'], ['Decision number', ''], ['Attachments', u'Vertr\xe4gsentwurf']], browser.css('table.listing').first.lists()) self.assertEqual(1, len(proposal.relatedItems)) self.assertEqual(self.document, proposal.relatedItems[0].to_object) self.assertEqual(u'Another pr\xf6posal', proposal.title) model = proposal.load_model() self.assertIsNotNone(model) self.assertEqual(Oguid.for_object(proposal), model.oguid) self.assertEqual(u'Another pr\xf6posal', proposal.title)
def test_contentview_not_found(self, browser): self.grant('Manager') browser.login().open() with self.assertRaises(NoElementFound) as cm: editbar.contentview('Nonexisting View', browser=browser) msg_start = ( "Empty result set:" " editbar.contentview('Nonexisting View'," " browser=<ftw.browser.core.Browser instance>) did not match any nodes." "\nVisible content views: ['Contents',") self.assertRegexpMatches( str(cm.exception), '^' + re.escape(msg_start))
def test_proposal_can_be_edited_in_browser_and_strips_whitespace(self, browser): self.login(self.dossier_responsible, browser) browser.visit(self.draft_proposal) editbar.contentview('Edit').click() self.assertEqual(u'Antrag f\xfcr Kreiselbau', browser.find('Title').value) browser.fill({ 'Title': u'A pr\xf6posal', 'Legal basis': u'<div>not possible</div>', 'Initial position': u'<div>My pr\xf6posal</div>', 'Proposed action': u'<div> do it \r </div>', 'Committee': str(self.committee_id), 'Publish in': u'<div>B\xe4rner Zeitung</div>', 'Disclose to': u'<div>Hansj\xf6rg</div>', 'Copy for attention': u'<div>P\xe4tra</div>', 'Attachments': [self.document]}).save() statusmessages.assert_no_error_messages() statusmessages.assert_message('Changes saved') proposal = browser.context browser.open(proposal, view='tabbedview_view-overview') self.assertEquals( [['Title', u'A pr\xf6posal'], ['Committee', u'Rechnungspr\xfcfungskommission'], ['Meeting', ''], ['Legal basis', 'not possible'], ['Initial position', u'My pr\xf6posal'], ['Proposed action', 'do it'], ['Decision draft', ''], ['Decision', ''], ['Publish in', u'B\xe4rner Zeitung'], ['Disclose to', u'Hansj\xf6rg'], ['Copy for attention', u'P\xe4tra'], ['State', 'Pending'], ['Decision number', ''], ['Attachments', u'Vertr\xe4gsentwurf']], browser.css('table.listing').first.lists()) self.assertEqual(1, len(proposal.relatedItems)) self.assertEqual(self.document, proposal.relatedItems[0].to_object) self.assertEqual(u'A pr\xf6posal', proposal.title) self.assertEqual(u'<div>not possible</div>', proposal.legal_basis) self.assertEqual(u'<div>My pr\xf6posal</div>', proposal.initial_position) self.assertEqual(u'<div>do it</div>', proposal.proposed_action) model = proposal.load_model() self.assertIsNotNone(model) self.assertEqual(Oguid.for_object(proposal), model.oguid)
def test_export_action_on_eventfolder(self, browser): event_folder = create(Builder('event folder').titled(u'Activities')) browser.login().visit(event_folder) self.assertEqual( 'http://nohost/plone/activities/ics_view', editbar.contentview('Ical export').attrib['href'] )
def test_contentview(self, browser): self.grant('Manager') browser.login().open() link = editbar.contentview('Contents', browser=browser) self.assertEquals('a', link.tag) self.assertEquals( self.portal.absolute_url() + '/folder_contents', link.attrib['href'].split('?')[0])
def test_edit_meeting_metadata(self, browser): self.maxDiff = None self.login(self.committee_responsible, browser) browser.open(self.meeting) self.assertEquals(u'9. Sitzung der Rechnungspr\xfcfungskommission', plone.first_heading()) self.assertEquals( { 'State:': 'Pending', 'Start:': 'Sep 12, 2016 05:30 PM', 'End:': 'Sep 12, 2016 07:00 PM', 'Presidency:': u'Sch\xf6ller Heidrun', 'Secretary:': u'M\xfcller Henning', 'Location:': u'B\xfcren an der Aare', 'Meeting dossier:': 'Sitzungsdossier 9/2017' }, byline.text_dict()) editbar.contentview('Edit').click() browser.fill({ 'Title': u'New Meeting Title', 'Other Participants': 'Staatsanwalt', 'Protocol start-page': '27', 'Location': 'Sitzungszimmer 3', 'Start': '13.10.2016 08:00', 'End': '13.10.2016 10:00' }).save() statusmessages.assert_message('Changes saved') self.assertEquals('New Meeting Title', plone.first_heading()) self.assertEquals( { 'State:': 'Pending', 'Start:': 'Oct 13, 2016 08:00 AM', 'End:': 'Oct 13, 2016 10:00 AM', 'Presidency:': u'Sch\xf6ller Heidrun', 'Secretary:': u'M\xfcller Henning', 'Location:': u'Sitzungszimmer 3', 'Meeting dossier:': 'New Meeting Title' }, byline.text_dict()) self.assertEquals('New Meeting Title', self.meeting_dossier.title)
def test_edit_meeting_metadata(self, browser): self.maxDiff = None self.login(self.committee_responsible, browser) browser.open(self.meeting) self.assertEquals(u'9. Sitzung der Rechnungspr\xfcfungskommission', plone.first_heading()) self.assertEquals( {'State:': 'Pending', 'Start:': 'Sep 12, 2016 05:30 PM', 'End:': 'Sep 12, 2016 07:00 PM', 'Presidency:': u'Sch\xf6ller Heidrun', 'Secretary:': u'Secretary C\xf6mmittee', 'Location:': u'B\xfcren an der Aare', 'Meeting dossier:': 'Sitzungsdossier 9/2017'}, byline.text_dict()) editbar.contentview('Edit').click() browser.fill({'Title': u'New Meeting Title', 'Other Participants': 'Staatsanwalt', 'Protocol start-page': '27', 'Location': 'Sitzungszimmer 3', 'Start': '13.10.2016 08:00', 'End': '13.10.2016 10:00'}).save() statusmessages.assert_message('Changes saved') self.assertEquals('New Meeting Title', plone.first_heading()) self.assertEquals( {'State:': 'Pending', 'Start:': 'Oct 13, 2016 08:00 AM', 'End:': 'Oct 13, 2016 10:00 AM', 'Presidency:': u'Sch\xf6ller Heidrun', 'Secretary:': u'Secretary C\xf6mmittee', 'Location:': u'Sitzungszimmer 3', 'Meeting dossier:': 'New Meeting Title'}, byline.text_dict()) self.assertEquals('New Meeting Title', self.meeting_dossier.title)
def test_edit_meeting_metadata(self, browser): self.maxDiff = None self.login(self.committee_responsible, browser) browser.open(self.meeting) self.assertEquals(u'9. Sitzung der Rechnungspr\xfcfungskommission', plone.first_heading()) self.assertEquals( [['Status:', 'Pending'], [ 'Meeting start:', 'Sep 12, 2016 05:30 PM' ], ['Meeting end:', 'Sep 12, 2016 07:00 PM'], ['Location:', u'B\xfcren an der Aare'], ['Meeting number:', ''], ['Presidency:', u'Sch\xf6ller Heidrun ([email protected])'], ['Secretary:', u'M\xfcller Henning ([email protected])'], [ 'Participants:', u'Wendler Jens ([email protected])' u' W\xf6lfl Gerda ([email protected])' ], ['Meeting dossier:', 'Sitzungsdossier 9/2017', ''], [ 'Agenda item list:', 'No agenda item list has been generated yet.', '' ], ['Protocol:', 'No protocol has been generated yet.', '']], meeting_view.metadata()) editbar.contentview('Edit').click() browser.fill({ 'Title': u'New Meeting Title', 'Presidency': u'W\xf6lfl Gerda ([email protected])', 'Secretary': u'Wendler Jens ([email protected])', 'Participants': [u'Sch\xf6ller Heidrun ([email protected])'], 'Other Participants': 'Staatsanwalt', 'Protocol start-page': '27', 'Location': 'Sitzungszimmer 3', 'Start': '13.10.2016 08:00', 'End': '13.10.2016 10:00' }).save() statusmessages.assert_message('Changes saved') self.assertEquals('New Meeting Title', plone.first_heading()) self.assertEquals( [['Status:', 'Pending'], [ 'Meeting start:', 'Oct 13, 2016 08:00 AM' ], ['Meeting end:', 'Oct 13, 2016 10:00 AM'], ['Location:', 'Sitzungszimmer 3'], ['Meeting number:', ''], ['Presidency:', u'W\xf6lfl Gerda ([email protected])'], ['Secretary:', 'Wendler Jens ([email protected])'], ['Participants:', u'Sch\xf6ller Heidrun ([email protected])'], ['Meeting dossier:', 'Sitzungsdossier 9/2017', ''], [ 'Agenda item list:', 'No agenda item list has been generated yet.', '' ], ['Protocol:', 'No protocol has been generated yet.', '']], meeting_view.metadata())