def test_warning_visible_when_quota_exceeded(self, browser):
        user_folder = create_members_folder(create(Builder('private_root')))
        settings = getUtility(IRegistry).forInterface(
            IPrivateFolderQuotaSettings)
        create(Builder('document').attach_file_containing('X' * 100)
               .within(user_folder))

        browser.login().open(user_folder)
        statusmessages.assert_no_messages()

        settings.size_soft_limit = 70
        transaction.commit()
        browser.reload()
        statusmessages.assert_message(
            u'The quota of your private folder will exceed soon.')

        settings.size_hard_limit = 80
        transaction.commit()
        browser.reload()
        statusmessages.assert_message(
            u'The quota of your private folder has exceeded,'
            ' you can not add any new files or mails.')

        settings.size_soft_limit = 0
        settings.size_hard_limit = 0
        transaction.commit()
        browser.reload()
        statusmessages.assert_no_messages()
    def test_warn_when_adding_repo_to_repo_with_dossier(self, browser):
        """A repository folder should not contain other repository folders AND
        dossiers at the same time.
        But in order to migrate from "contains dossiers" to "contains folders"
        we need to allow creating repositories within repositories which already
        contain dossiers.
        But a warning message should be displayed in this situation.
        """
        self.login(self.administrator, browser)

        warning = u'You are adding a repositoryfolder to a leafnode ' \
                  u'which already contains dossiers. This is only ' \
                  u'temporarily allowed and all dossiers must be moved into ' \
                  u'a new leafnode afterwards.'

        self.assertTrue(any(filter(IDossierMarker.providedBy,
                                   self.leaf_repofolder.objectValues())),
                        'Expected at least one dossier within leaf_repofolder.')
        browser.open(self.leaf_repofolder)
        factoriesmenu.add('RepositoryFolder')
        statusmessages.assert_message(warning)

        self.assertFalse(any(filter(IDossierMarker.providedBy,
                                    self.branch_repofolder.objectValues())),
                         'Expected no dossiers within branch_repofolder.')
        browser.open(self.branch_repofolder)
        factoriesmenu.add('RepositoryFolder')
        statusmessages.assert_no_messages()

        self.assertFalse(any(filter(IDossierMarker.providedBy,
                                    self.empty_repofolder.objectValues())),
                         'Expected no dossiers within empty_repofolder.')
        browser.open(self.empty_repofolder)
        factoriesmenu.add('RepositoryFolder')
        statusmessages.assert_no_messages()
    def test_warning_visible_when_quota_exceeded(self, browser):
        self.login(self.regular_user, browser=browser)

        settings = getUtility(IRegistry).forInterface(IPrivateFolderQuotaSettings)
        create(Builder('document').attach_file_containing('X' * 100)
               .within(self.private_dossier))

        browser.open(self.private_folder)
        statusmessages.assert_no_messages()

        settings.size_soft_limit = 70
        browser.reload()
        statusmessages.assert_message(
            u'The quota of your private folder will exceed soon.')

        settings.size_hard_limit = 80
        transaction.commit()
        browser.reload()
        statusmessages.assert_message(
            u'The quota of your private folder has exceeded,'
            ' you can not add any new files or mails.')

        settings.size_soft_limit = 0
        settings.size_hard_limit = 0
        browser.reload()
        statusmessages.assert_no_messages()
    def test_assert_no_messages_failure(self, browser):
        browser.open(view='test-statusmessages?type=warning')
        with self.assertRaises(AssertionError) as cm:
            statusmessages.assert_no_messages(browser=browser)

        self.assertEquals('Unexpected status messages:'
                          ' "[WARNING] A warning message."',
                          str(cm.exception))
    def test_NO_statusmessage_on_block_creation(self, browser):
        browser.login().visit(self.page, view="++add_block++SampleBlock")
        response = browser.json

        browser.parse(response['content'])
        browser.fill({'Title': u'This is a TextBlock',
                      'Text': u'Some text'})
        browser.find_button_by_label('Save').click()

        browser.visit(self.page)
        statusmessages.assert_no_messages()
    def test_NO_statusmessage_on_block_modification(self, browser):
        block = create(Builder('sample block'))
        browser.login().visit(block, view='edit.json')
        response = browser.json

        browser.parse(response['content'])
        browser.fill({'Title': u'This is a TextBlock',
                      'Text': u'Some text'})
        browser.find_button_by_label('Save').click()

        browser.visit(self.page)
        statusmessages.assert_no_messages()
Beispiel #7
0
    def test_warn_when_adding_repo_to_repo_with_dossier(self, browser):
        """A repository folder should not contain other repository folders AND
        dossiers at the same time.
        But in order to migrate from "contains dossiers" to "contains folders"
        we need to allow creating repositories within repositories which already
        contain dossiers.
        But a warning message should be displayed in this situation.
        """
        self.login(self.administrator, browser)

        warning = u'You are adding a repositoryfolder to a leafnode ' \
                  u'which already contains dossiers. This is only ' \
                  u'temporarily allowed and all dossiers must be moved into ' \
                  u'a new leafnode afterwards.'

        self.assertTrue(
            any(
                filter(IDossierMarker.providedBy,
                       self.leaf_repofolder.objectValues())),
            'Expected at least one dossier within leaf_repofolder.')
        browser.open(self.leaf_repofolder)
        factoriesmenu.add('RepositoryFolder')
        statusmessages.assert_message(warning)

        self.assertFalse(
            any(
                filter(IDossierMarker.providedBy,
                       self.branch_repofolder.objectValues())),
            'Expected no dossiers within branch_repofolder.')
        browser.open(self.branch_repofolder)
        factoriesmenu.add('RepositoryFolder')
        statusmessages.assert_no_messages()

        self.assertFalse(
            any(
                filter(IDossierMarker.providedBy,
                       self.empty_repofolder.objectValues())),
            'Expected no dossiers within empty_repofolder.')
        browser.open(self.empty_repofolder)
        factoriesmenu.add('RepositoryFolder')
        statusmessages.assert_no_messages()
 def test_assert_no_messages(self, browser):
     browser.open()
     self.assertTrue(statusmessages.assert_no_messages(browser=browser))