예제 #1
0
 def test_invalid_title_raises_exception(self) -> None:
     blog_post_change = {
         'title': 123,
         'tags': ['News'],
     }
     with self.assertRaisesRegex(  # type: ignore[no-untyped-call]
             utils.ValidationError, 'Title should be a string'):
         domain_objects_validator.validate_change_dict_for_blog_post(
             blog_post_change)
예제 #2
0
    def test_valid_dict_raises_no_exception(self) -> None:
        blog_post_change = {
            'title': 'Hello Bloggers',
            'tags': ['News', 'Learners'],
        }
        domain_objects_validator.validate_change_dict_for_blog_post(
            blog_post_change)

        blog_post_change = {
            'title': 'Hello Bloggers',
            'tags': ['News', 'Learners'],
            'thumbnail_filename': 'name.svg',
        }
        domain_objects_validator.validate_change_dict_for_blog_post(
            blog_post_change)
예제 #3
0
    def test_invalid_tags_raises_exception(self) -> None:
        blog_post_change = {
            'title': 'Hello Bloggers',
            'tags': ['News', 'Some Tag'],
        }
        with self.assertRaisesRegex(  # type: ignore[no-untyped-call]
                Exception, 'Invalid tags provided. Tags not in default'
                ' tags list.'):
            domain_objects_validator.validate_change_dict_for_blog_post(
                blog_post_change)

        blog_post_change = {
            'title': 'Hello',
            'tags': ['News', 123],  # type: ignore[list-item]
        }
        with self.assertRaisesRegex(  # type: ignore[no-untyped-call]
                Exception, 'Expected each tag in \'tags\' to be a string,'
                ' received: \'123\''):
            domain_objects_validator.validate_change_dict_for_blog_post(
                blog_post_change)