def test_get_blog_post_summary_by_title(self): model = ( blog_models.BlogPostSummaryModel.get_by_id(self.blog_post_a_id)) model.title = 'Hello Bloggers' model.update_timestamps() model.put() blog_post_summary = ( blog_services.get_blog_post_summary_by_title('Hello Bloggers')) expected_blog_post_summary = ( blog_domain.BlogPostSummary( self.blog_post_a_id, self.user_id_a, 'Hello Bloggers', '', '', [], blog_post_summary.thumbnail_filename, blog_post_summary.last_updated, blog_post_summary.published_on ) ) self.assertEqual( blog_post_summary.to_dict(), expected_blog_post_summary.to_dict()) self.assertIsNone(blog_services.get_blog_post_summary_by_title('Hello'))
def test_get_blog_post_summary_by_title(self) -> None: model = ( blog_models.BlogPostSummaryModel.get_by_id(self.blog_post_a_id)) model.title = 'Hello Bloggers' model.update_timestamps() model.put() blog_post_summary = ( blog_services.get_blog_post_summary_by_title('Hello Bloggers')) # Ruling out the possibility of None for mypy type checking. assert blog_post_summary is not None expected_blog_post_summary = ( blog_domain.BlogPostSummary( self.blog_post_a_id, self.user_id_a, 'Hello Bloggers', '', '', [], blog_post_summary.thumbnail_filename, blog_post_summary.last_updated, blog_post_summary.published_on ) ) self.assertEqual( blog_post_summary.to_dict(), expected_blog_post_summary.to_dict()) self.assertIsNone(blog_services.get_blog_post_summary_by_title('Hello'))
def test_blog_post_summary_by_id(self) -> None: blog_post_summary = (blog_services.get_blog_post_summary_by_id( self.blog_post_a_id)) expected_blog_post_summary = (blog_domain.BlogPostSummary( self.blog_post_a_id, self.user_id_a, '', '', '', [], blog_post_summary.thumbnail_filename, blog_post_summary.last_updated, blog_post_summary.published_on)) self.assertEqual(blog_post_summary.to_dict(), expected_blog_post_summary.to_dict())
def test_compute_summary_of_blog_post(self) -> None: expected_blog_post_summary = (blog_domain.BlogPostSummary( self.blog_post_a_id, self.user_id_a, '', '', '', [], self.blog_post_a.thumbnail_filename, self.blog_post_a.last_updated, self.blog_post_a.published_on)) blog_post_summary = (blog_services.compute_summary_of_blog_post( self.blog_post_a)) self.assertEqual(expected_blog_post_summary.to_dict(), blog_post_summary.to_dict())
def test_get_blog_post_summary_from_model(self): blog_post_summary_model = (blog_models.BlogPostSummaryModel.get( self.blog_post_a_id)) blog_post_summary = (blog_services.get_blog_post_summary_from_model( blog_post_summary_model)) expected_blog_post_summary = (blog_domain.BlogPostSummary( self.blog_post_a_id, self.user_id_a, '', '...', '', [], blog_post_summary_model.thumbnail_filename, blog_post_summary_model.last_updated, blog_post_summary_model.published_on)) self.assertEqual(blog_post_summary.to_dict(), expected_blog_post_summary.to_dict())
def _get_model_domain_object_instance(self, summary_model): """Returns blog post domain object instance created from the model. Args: summary_model: datastore_services.Model. Entity to validate. Returns: BlogPost. A domain object to validate. """ return blog_domain.BlogPostSummary( summary_model.id, summary_model.author_id, summary_model.title, summary_model.summary, summary_model.url_fragment, summary_model.tags, summary_model.thumbnail_filename, summary_model.last_updated, summary_model.published_on)
def compute_summary_of_blog_post(blog_post): """Creates BlogPostSummary domain object from BlogPost domain object. Args: blog_post: BlogPost. The blog post domain object. Returns: BlogPostSummary. The blog post summary domain object. """ summary = generate_summary_of_blog_post(blog_post.content) return blog_domain.BlogPostSummary(blog_post.id, blog_post.author_id, blog_post.title, summary, blog_post.url_fragment, blog_post.tags, blog_post.thumbnail_filename, blog_post.last_updated, blog_post.published_on)
def get_blog_post_summary_from_model(blog_post_summary_model): """Returns a blog post summary domain object given a blog post summary model loaded from the datastore. Args: blog_post_summary_model: BlogPostSummaryModel. The blog post model loaded from the datastore. Returns: BlogPostSummary. A blog post summary domain object corresponding to the given blog post summary model. """ return blog_domain.BlogPostSummary( blog_post_summary_model.id, blog_post_summary_model.author_id, blog_post_summary_model.title, blog_post_summary_model.summary, blog_post_summary_model.url_fragment, blog_post_summary_model.tags, blog_post_summary_model.thumbnail_filename, blog_post_summary_model.last_updated, blog_post_summary_model.published_on)