Ejemplo n.º 1
0
    def test_renaming_object_via_folder_contents_rename_action(self, browser):

        self.grant('Manager')
        folder = create(Builder('folder').titled(u'Folder'))
        with freeze(datetime(2018, 1, 2, 3, 4, 5)):
            page = create(Builder('page').titled(u'The Page').within(folder))

            self.assertEquals(0, IQueue(self.portal).countJobs())

            form_data = {}
            form_data['_authenticator'] = createToken()
            form_data['UID_1'] = IUUID(page)
            form_data['newid_1'] = 'new_id'
            form_data['newtitle_1'] = u'Ch\xe4nged title'

            browser.login().visit(folder, view='@@fc-rename', data=form_data)

        self.assertEquals(1, IQueue(self.portal).countJobs())

        job, = IQueue(self.portal).getJobs()
        self.assertEquals('move', job.action)
        data = job.getData()
        self.assertTrue(data)

        self.maxDiff = None

        expected = {
            u'utf8:metadata': {
                u'utf8:UID': u'utf8:testrenamingobjectviafolde000002',
                u'utf8:action': u'utf8:move',
                u'utf8:id': u'utf8:new_id',
                u'utf8:modified': u'utf8:2018/01/02 03:04:05 GMT+1',
                u'utf8:physicalPath': u'utf8:/folder/new_id',
                u'utf8:portal_type': u'utf8:Document',
                u'utf8:review_state': u'utf8:',
                u'utf8:sibling_positions': {
                    u'utf8:new_id': 0
                }
            },
            u'utf8:move': {
                u'utf8:newName': u'utf8:new_id',
                u'utf8:newParent': u'utf8:/folder',
                u'utf8:newTitle': u'unicode:Ch\xe4nged title',
                u'utf8:oldName': u'utf8:the-page',
                u'utf8:oldParent': u'utf8:/folder'
            }
        }

        if IS_AT_LEAST_PLONE_5_1:
            expected[u'utf8:metadata'][u'utf8:modified'] = u'utf8:{}'.format(
                str(page.modified()).decode('utf-8'))

        self.assertEquals(expected, json.loads(data))
Ejemplo n.º 2
0
    def test_renaming_object_via_object_rename_action(self, browser):

        self.grant('Manager')
        folder = create(Builder('folder').titled(u'Folder'))
        with freeze(datetime(2018, 1, 2, 3, 4, 5)):
            page = create(Builder('page').titled(u'The Page').within(folder))

            self.assertEquals(0, IQueue(self.portal).countJobs())
            browser.login().open(page).click_on('Rename')
            browser.fill({'form.widgets.new_id': 'new_id'}).submit()
            statusmessages.assert_message(
                'Object move/rename action has been added to the queue.')

        self.assertEquals(1, IQueue(self.portal).countJobs())

        job, = IQueue(self.portal).getJobs()
        self.assertEquals('move', job.action)
        data = job.getData()
        self.assertTrue(data)

        self.maxDiff = None

        expected = {
            u'utf8:metadata': {
                u'utf8:UID': u'utf8:testrenamingobjectviaobjec000002',
                u'utf8:action': u'utf8:move',
                u'utf8:id': u'utf8:new_id',
                u'utf8:modified': u'utf8:2018/01/02 03:04:05 GMT+1',
                u'utf8:physicalPath': u'utf8:/folder/new_id',
                u'utf8:portal_type': u'utf8:Document',
                u'utf8:review_state': u'utf8:',
                u'utf8:sibling_positions': {
                    u'utf8:new_id': 0
                }
            },
            u'utf8:move': {
                u'utf8:newName': u'utf8:new_id',
                u'utf8:newParent': u'utf8:/folder',
                u'utf8:newTitle': u'unicode:The Page',
                u'utf8:oldName': u'utf8:the-page',
                u'utf8:oldParent': u'utf8:/folder'
            }
        }

        if IS_AT_LEAST_PLONE_5_1:
            expected[u'utf8:metadata'][u'utf8:modified'] = u'utf8:{}'.format(
                str(page.modified()).decode('utf-8'))

        self.assertEquals(expected, json.loads(data))
Ejemplo n.º 3
0
    def test_moving_object_job_data(self, browser):
        self.grant('Manager')
        source = create(Builder('folder').titled(u'Source'))
        target = create(Builder('folder').titled(u'Target'))
        with freeze(datetime(2018, 1, 2, 3, 4, 5)):
            page = create(Builder('page').titled(u'The Page').within(source))

        self.assertEquals(0, IQueue(self.portal).countJobs())
        browser.login().open(page).click_on('Cut').open(target).click_on('Paste')
        statusmessages.assert_message(
            'Object move/rename action has been added to the queue.')

        self.assertEquals(1, IQueue(self.portal).countJobs())

        job, = IQueue(self.portal).getJobs()
        self.assertEquals('move', job.action)
        data = job.getData()
        self.assertTrue(data)

        self.maxDiff = None

        expected = {u'utf8:metadata': {
            u'utf8:UID': u'utf8:testmovingobjectjobdata000000003',
            u'utf8:action': u'utf8:move',
            u'utf8:id': u'utf8:the-page',
            u'utf8:modified': u'utf8:2018/01/02 03:04:05 GMT+1',
            u'utf8:physicalPath': u'utf8:/target/the-page',
            u'utf8:portal_type': u'utf8:Document',
            u'utf8:review_state': u'utf8:',
            u'utf8:sibling_positions': {u'utf8:the-page': 0}},
         u'utf8:move': {
             u'utf8:newName': u'utf8:the-page',
             u'utf8:newParent': u'utf8:/target',
             u'utf8:newTitle': u'unicode:The Page',
             u'utf8:oldName': u'utf8:the-page',
             u'utf8:oldParent': u'utf8:/source'}}

        self.assertEquals(
            expected,
            json.loads(data))