Example #1
0
    def test_unlock_link_only_present_for_draft_versions(self):
        draft_version = factories.PollVersionFactory(
            created_by=self.user_author)
        published_version = Version.objects.create(
            content=factories.PollContentFactory(
                poll=draft_version.content.poll),
            created_by=factories.UserFactory(),
            state=constants.PUBLISHED)
        draft_unlock_url = self.get_admin_url(
            self.versionable.version_model_proxy, 'unlock', draft_version.pk)
        draft_unlock_control = render_to_string(
            'djangocms_version_locking/admin/unlock_icon.html',
            {'unlock_url': draft_unlock_url})
        published_unlock_url = self.get_admin_url(
            self.versionable.version_model_proxy, 'unlock',
            published_version.pk)
        published_unlock_control = render_to_string(
            'djangocms_version_locking/admin/unlock_icon.html',
            {'unlock_url': published_unlock_url})
        changelist_url = version_list_url(draft_version.content)

        with self.login_user_context(self.superuser):
            response = self.client.post(changelist_url)

        # The draft version unlock control exists
        self.assertContains(response, draft_unlock_control, html=True)
        # The published version exists
        self.assertNotContains(response, published_unlock_control, html=True)
    def test_archive_link_not_present_for_published_version(self):
        draft_version = factories.PollVersionFactory(
            created_by=self.user_author)
        published_version = Version.objects.create(
            content=factories.PollContentFactory(
                poll=draft_version.content.poll),
            created_by=factories.UserFactory(),
            state=constants.PUBLISHED)

        with self.login_user_context(self.user_author):
            request = RequestFactory()
            request.user = self.user_author
            discard_url = self.version_admin._get_discard_link(
                published_version, request)
            self.assertEqual("", discard_url)

        with self.login_user_context(self.user_author):
            request = RequestFactory()
            request.user = self.user_author
            discard_url = self.version_admin._get_discard_link(
                published_version, request)
            self.assertEqual("", discard_url)