示例#1
0
    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>&nbsp; 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)
示例#4
0
 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])
示例#6
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())