def test_cannot_publish_invalid_blog_post(self):
        """Checks that an invalid blog post is not published."""
        with self.assertRaisesRegex(
            Exception, ('Title should not be empty')):
            blog_services.publish_blog_post(self.blog_post_a_id)

        blog_services.update_blog_post(
            self.blog_post_a_id, self.change_dict_one)
        with self.assertRaisesRegex(
            Exception, ('Atleast one tag should be selected')):
            blog_services.publish_blog_post(self.blog_post_a_id)

        change_dict_three = {
            'title': 'Sample',
            'thumbnail_filename': 'thummbnail.svg',
            'content': '',
            'tags': ['one', 'two']
        }

        blog_services.update_blog_post(self.blog_post_a_id, change_dict_three)
        with self.assertRaisesRegex(
            Exception, ('Content can not be empty')):
            blog_services.publish_blog_post(self.blog_post_a_id)

        blog_services.delete_blog_post(self.blog_post_a_id)
        with self.assertRaisesRegex(
            Exception, ('The given blog post does not exist')):
            blog_services.publish_blog_post(self.blog_post_a_id)
 def test_delete_blog_post(self):
     blog_services.delete_blog_post(self.blog_post_a_id)
     self.assertIsNone(blog_services.get_blog_post_rights(
         self.blog_post_a_id, strict=False))
     self.assertIsNone(blog_services.get_blog_post_by_id(
         self.blog_post_a_id, strict=False))
     self.assertIsNone(blog_services.get_blog_post_summary_by_id(
         self.blog_post_a_id, strict=False))
    def test_get_blog_post_data_by_invalid_blog_post_id(self):
        self.login(self.BLOG_EDITOR_EMAIL)
        self.get_json('%s/%s' % (feconf.BLOG_EDITOR_DATA_URL_PREFIX, '123'),
                      expected_status_int=500)

        blog_services.delete_blog_post(self.blog_post.id)
        self.get_json('%s/%s' %
                      (feconf.BLOG_EDITOR_DATA_URL_PREFIX, self.blog_post.id),
                      expected_status_int=404)

        self.logout()
 def test_raise_exception_if_blog_post_does_not_exists(self):
     self.login(self.user_email)
     blog_post = blog_services.get_blog_post_by_id(self.blog_post.id)
     self.get_json(
         '%s/%s' % (feconf.BLOG_HOMEPAGE_URL, blog_post.url_fragment),
     )
     blog_services.delete_blog_post(blog_post.id)
     self.get_json(
         '%s/%s' % (feconf.BLOG_HOMEPAGE_URL, blog_post.url_fragment),
         expected_status_int=404
     )
    def test_put_blog_post_data_by_invalid_blog_post_id(self):
        self.login(self.BLOG_EDITOR_EMAIL)
        csrf_token = self.get_new_csrf_token()
        payload = {
            'change_dict': {
                'title': 'Sample Title',
            },
            'new_publish_status': False
        }

        self.put_json(
            '%s/%s' % (feconf.BLOG_EDITOR_DATA_URL_PREFIX, 123),
            payload, csrf_token=csrf_token,
            expected_status_int=404)

        blog_services.delete_blog_post(self.blog_post.id)
        csrf_token = self.get_new_csrf_token()
        # This is raised by acl decorator.
        self.put_json(
            '%s/%s' % (feconf.BLOG_EDITOR_DATA_URL_PREFIX, self.blog_post.id),
            payload, csrf_token=csrf_token, expected_status_int=404)
 def test_cannot_unpublish_invalid_blog_post(self):
     blog_services.delete_blog_post(self.blog_post_a_id)
     with self.assertRaisesRegex(
         Exception, ('The given blog post does not exist')):
         blog_services.unpublish_blog_post(self.blog_post_a_id)
Exemple #7
0
 def delete(self, blog_post_id: str) -> None:
     """Handles Delete requests."""
     blog_domain.BlogPost.require_valid_blog_post_id(blog_post_id)
     blog_services.delete_blog_post(blog_post_id)
     self.render_json(self.values)
Exemple #8
0
 def test_cannot_unpublish_invalid_blog_post(self) -> None:
     blog_services.delete_blog_post(self.blog_post_a_id)
     with self.assertRaisesRegex(  # type: ignore[no-untyped-call]
         Exception, ('The given blog post does not exist')):
         blog_services.unpublish_blog_post(self.blog_post_a_id)