Пример #1
0
    def test_deadline_returns_empty_string_for_tasks_without_a_deadline(self):
        task = create(Builder('globalindex_task'))

        self.assertEquals('', task.get_deadline_label())
Пример #2
0
    def setUp(self):
        super(TestPublicTrial, self).setUp()

        self.document = create(Builder('document')
                               .having(public_trial='private'))
Пример #3
0
 def _create_doc(self):
     doc = create(
         Builder('document').within(self.dossier).attach_file_containing(
             u"INITIAL VERSION DATA", u"somefile.txt"))
     return doc
 def setUp(self):
     super(TestPersonView, self).setUp()
     self.contactfolder = create(
         Builder('contactfolder').titled(u'Kontakte'))
Пример #5
0
 def setUp(self):
     super(TestDocumentMimetype, self).setUp()
     self.dossier = create(Builder("dossier"))
     transaction.commit()
Пример #6
0
    def test_default_role_translation_for_default_workflows(self, browser):
        document = create(Builder('document'))
        sharing.visit(document)

        self.assertEquals(['Can add', 'Can edit', 'Can review', 'Can view'],
                          sharing.role_labels())
Пример #7
0
    def test_remark_does_not_appear_in_navigation(self, browser):
        create(Builder('remark').titled('The Remark').within(self.chapter))

        browser.login().open(self.chapter)
        self.assertItemsEqual(['The Book', 'The Chapter'],
                              browser.css('.portletNavigationTree dd a').text)
 def test_string_representation(self):
     proposal = create(Builder('proposal_model'))
     self.assertEqual('<Proposal 1234@foo>', str(proposal))
     self.assertEqual('<Proposal 1234@foo>', repr(proposal))
Пример #9
0
 def setUp(self):
     super(TestClassificationPropagation, self).setUp()
     self.repofolder = create(Builder('repository'))
     self.field = IClassification['classification']
     self.grant('Administrator')
Пример #10
0
 def test_cross_injection_raises_unauthorized(self, browser):
     dossier2 = create(Builder('dossier'))
     with browser.expect_unauthorized():
         browser.login().open('{}/participation-1/edit'.format(
             dossier2.absolute_url()))
Пример #11
0
 def setUp(self):
     super(TestAddParticipationAction, self).setUp()
     self.dossier = create(Builder('dossier'))
Пример #12
0
    def test_step3_shows_responsible_field_for_each_selected_templates(
            self, browser):
        self.login(self.regular_user, browser=browser)

        create(
            Builder('tasktemplate').titled(
                u'Eintrittsgespr\xe4ch vorbereiten und planen.').having(
                    issuer='responsible',
                    responsible_client='fa',
                    responsible='inbox:fa',
                    deadline=10,
                    preselected=True).within(self.tasktemplatefolder))
        create(
            Builder('tasktemplate').titled(u'Notebook einrichten.').having(
                issuer='responsible', deadline=10,
                preselected=True).within(self.tasktemplatefolder))
        create(
            Builder('tasktemplate').titled(u'User Accounts erstellen.').having(
                issuer='responsible',
                responsible=None,
                responsible_client=None,
                deadline=10,
                preselected=True).within(self.tasktemplatefolder))

        browser.open(self.dossier, view='add-tasktemplate')
        browser.fill({'Tasktemplatefolder': u'Verfahren Neuanstellung'})
        browser.click_on('Continue')
        browser.fill({
            'Tasktemplates': [
                u'Eintrittsgespr\xe4ch vorbereiten und planen.',
                'User Accounts erstellen.', 'Arbeitsplatz einrichten.'
            ]
        })
        browser.click_on('Continue')

        # labels
        self.assertItemsEqual([
            u'Responsible \xabEintrittsgespr\xe4ch vorbereiten und planen.\xbb',
            u'Responsible \xabUser Accounts erstellen.\xbb',
            u'Responsible \xabArbeitsplatz einrichten.\xbb'
        ], browser.forms['form'].css('label').text)

        # Default values
        fields = browser.css('select')
        self.assertItemsEqual(['inbox:fa', 'fa:robert.ziegler', None],
                              [field.value for field in fields])

        field_name = u'Responsible \xabUser Accounts erstellen.\xbb'
        form = browser.find_form_by_field(field_name)
        form.find_widget(field_name).fill(self.secretariat_user)
        browser.click_on('Trigger')

        self.assertEquals(['tasks created'], info_messages())
        main_task = self.dossier.listFolderContents()[-1]
        ids = main_task.objectIds()
        task1, task2, task3 = [main_task.get(_id) for _id in ids]

        self.assertEquals(u'Eintrittsgespr\xe4ch vorbereiten und planen.',
                          task2.title)
        self.assertEquals(u'inbox:fa', task2.responsible)

        self.assertEquals(u'Arbeitsplatz einrichten.', task1.title)
        self.assertEquals(u'robert.ziegler', task1.responsible)

        self.assertEquals(u'User Accounts erstellen.', task3.title)
        self.assertEquals(u'jurgen.konig', task3.responsible)
Пример #13
0
    def test_task_representation(self):
        task1 = create(
            Builder('globalindex_task').having(admin_unit_id='afi',
                                               int_id=1234))

        self.assertEquals('<Task 1234@afi>', repr(task1))
Пример #14
0
 def test_get_deadline_label_is_empty_when_no_deadline_is_set(self):
     task = create(Builder('globalindex_task').having(deadline=None))
     self.assertEqual('', task.get_deadline_label())
Пример #15
0
 def setUp(self):
     super(TestResolveJobs, self).setUp()
     self.dossier = create(Builder('dossier').titled(u'Anfragen'))
     self.grant('Contributor', 'Editor', 'Reader', 'Reviewer')
     self.catalog = api.portal.get_tool('portal_catalog')
Пример #16
0
 def setUp(self):
     super(TestPrivacyLayerVocabulary, self).setUp()
     self.repofolder = create(Builder('repository'))
     self.field = IClassification['privacy_layer']
Пример #17
0
    def setUp(self):
        super(TestAlphabeticalTOC, self).setUp()
        self.container = create(Builder('committee_container'))

        # freeze date to make sure the default period is 2016
        with freeze(datetime(2016, 12, 3)):
            self.committee = create(
                Builder('committee').within(self.container))
        self.committee_model = self.committee.load_model()
        self.period = create(
            Builder('period').having(date_from=date(2010, 1, 1),
                                     date_to=date(2010, 12, 31),
                                     committee=self.committee_model))

        self.meeting_before = create(
            Builder('meeting').having(committee=self.committee_model,
                                      start=pytz.UTC.localize(
                                          datetime(2009, 12, 31, 23, 45)),
                                      protocol_start_page_number=99))

        self.meeting1 = create(
            Builder('meeting').having(committee=self.committee_model,
                                      start=pytz.UTC.localize(
                                          datetime(2010, 1, 1, 10, 30)),
                                      protocol_start_page_number=33))
        self.meeting2 = create(
            Builder('meeting').having(committee=self.committee_model,
                                      start=pytz.UTC.localize(
                                          datetime(2010, 12, 31, 18, 30)),
                                      protocol_start_page_number=129))

        self.meeting_after = create(
            Builder('meeting').having(committee=self.committee_model,
                                      start=pytz.UTC.localize(
                                          datetime(2011, 1, 1, 0, 0)),
                                      protocol_start_page_number=99))

        proposal1_1 = create(
            Builder('submitted_proposal').having(
                title=u'proposal 1',
                repository_folder_title='Business',
                dossier_reference_number='1.1.4 / 1',
                int_id=1).within(self.committee))
        proposal1_2 = create(
            Builder('submitted_proposal').having(
                title=u'\xdchhh',
                repository_folder_title='Business',
                dossier_reference_number='1.1.4 / 2',
                int_id=2).within(self.committee))

        proposal2_1 = create(
            Builder('submitted_proposal').having(
                title=u'Proposal 3',
                repository_folder_title='Stuff',
                dossier_reference_number='2.1.4 / 1',
                int_id=3).within(self.committee))
        proposal2_2 = create(
            Builder('submitted_proposal').having(
                title=u'Anything goes',
                repository_folder_title='Other Stuff',
                dossier_reference_number='3.1.4 / 77',
                int_id=4).within(self.committee))

        create(
            Builder('agenda_item').having(
                meeting=self.meeting_before,
                title=u'I am before period start',
                decision_number=1,
            ))

        create(
            Builder('agenda_item').having(
                meeting=self.meeting1,
                proposal=proposal1_1,
                decision_number=2,
            ))
        create(
            Builder('agenda_item').having(
                meeting=self.meeting1,
                proposal=proposal1_2,
                decision_number=3,
            ))
        create(
            Builder('agenda_item').having(
                meeting=self.meeting2,
                proposal=proposal2_1,
                decision_number=4,
            ))
        create(
            Builder('agenda_item').having(
                meeting=self.meeting2,
                proposal=proposal2_2,
                decision_number=5,
            ))
        create(
            Builder('agenda_item').having(
                meeting=self.meeting2,
                title=u'No Proposal here',
                decision_number=6,
            ))
        create(
            Builder('agenda_item').having(
                meeting=self.meeting2,
                title=u'Nahhh not here either',
                decision_number=7,
            ))

        create(
            Builder('agenda_item').having(
                meeting=self.meeting_after,
                title=u'I am after period end',
                decision_number=1,
            ))

        # freeze date to make sure the default period is 2016
        with freeze(datetime(2016, 12, 3)):
            self.other_committee = create(
                Builder('committee').within(self.container))
        self.other_committee_model = self.other_committee.load_model()
        self.other_period = create(
            Builder('period').having(date_from=date(2010, 1, 1),
                                     date_to=date(2010, 12, 31),
                                     committee=self.other_committee_model))

        self.other_meeting = create(
            Builder('meeting').having(committee=self.other_committee_model,
                                      start=pytz.UTC.localize(
                                          datetime(2010, 12, 31, 18, 30)),
                                      protocol_start_page_number=33))
        create(
            Builder('agenda_item').having(
                meeting=self.other_meeting,
                title=u'I should not appear in the test-toc',
                decision_number=77,
            ))
Пример #18
0
 def setUp(self):
     super(TestPrivacyLayerPropagation, self).setUp()
     self.repofolder = create(Builder('repository'))
     self.field = IClassification['privacy_layer']
     self.grant('Administrator')
Пример #19
0
 def setUp(self):
     self.book = create(Builder('book').titled('The Book'))
     self.chapter = create(
         Builder('chapter').titled('The Chapter').within(self.book))
Пример #20
0
 def setUp(self):
     super(TestPublicTrialField, self).setUp()
     self.dossier = create(Builder('dossier'))
     self.field = IClassification['public_trial']
Пример #21
0
 def setUp(self):
     super(TestCreateWithOfficeatwork, self).setUp()
     self.dossier = create(Builder('dossier'))
Пример #22
0
    def setUp(self):
        super(TestChangesToPublicTrialAreJournalized, self).setUp()

        self.dossier = create(Builder('dossier'))
        self.document = create(
            Builder('document').within(self.dossier).with_dummy_content())
Пример #23
0
 def setUp(self):
     super(TestDocumentQuickupload, self).setUp()
     self.dossier = create(Builder('dossier'))
Пример #24
0
 def setUp(self):
     super(TestClassificationVocabulary, self).setUp()
     self.repofolder = create(Builder('repository'))
     self.field = IClassification['classification']
Пример #25
0
    def test_adding_document_with_a_real_name_as_author_dont_change_author_name(self):
        document = create(Builder('document')
                          .having(document_author='Muster Peter')
                          .with_dummy_content())

        self.assertEquals('Muster Peter', document.document_author)
Пример #26
0
 def test_document_must_not_already_be_removed(self):
     document = create(Builder('document').trashed().removed())
     checker = RemoveConditionsChecker(document)
     self.assertFalse(checker.removal_allowed())
     self.assert_error_messages([u'The document is already removed.'],
                                checker.error_msg)
Пример #27
0
    def setUp(self):
        super(TestArchivalFileField, self).setUp()

        self.dossier = create(Builder('dossier'))
        self.grant('Manager')
Пример #28
0
 def test_removal_allowed(self):
     document = create(Builder('document').trashed())
     checker = RemoveConditionsChecker(document)
     self.assertTrue(checker.removal_allowed())
Пример #29
0
    def setUp(self):
        super(TestTaskLinkGeneration, self).setUp()

        additional_admin_unit = create(Builder('admin_unit').id(u'additional'))
        create(Builder('org_unit').id(u'additional')
               .having(admin_unit=additional_admin_unit))
Пример #30
0
    def test_absolute_url_returns_an_empty_string_if_no_admin_unit_is_available(
            self):
        task = create(
            Builder('globalindex_task').having(admin_unit_id='not-existing'))

        self.assertEqual(task.absolute_url(), '')