diff --git a/cms/topics/models.py b/cms/topics/models.py index 4c6ba0ed..1c771ae7 100644 --- a/cms/topics/models.py +++ b/cms/topics/models.py @@ -126,16 +126,16 @@ def get_context(self, request: "HttpRequest", *args: Any, **kwargs: Any) -> dict @cached_property def latest_article_in_featured_series(self) -> StatisticalArticlePage | None: """Returns the latest article in the featured series.""" - article: StatisticalArticlePage | None = StatisticalArticlePage.objects.none() if self.featured_series: - article = ( + article: StatisticalArticlePage = ( StatisticalArticlePage.objects.child_of(self.featured_series) .live() .public() .order_by("-release_date") .first() ) - return article + return article + return None @cached_property def processed_articles(self) -> list[ArticleSeriesPage]: @@ -143,7 +143,7 @@ def processed_articles(self) -> list[ArticleSeriesPage]: TODO: extend when Taxonomy is in. """ # check if any statistical articles were highlighted. if so, fetch in the order they were added. - highlighted_page_pks = tuple(page_id for page_id in self.related_articles.values_list("page_id", flat=True)) + highlighted_page_pks = list(self.related_articles.values_list("page_id", flat=True)) highlighted_pages = list( order_by_pk_position( StatisticalArticlePage.objects.live().public().defer_streamfields(), diff --git a/cms/topics/tests/test_viewsets.py b/cms/topics/tests/test_viewsets.py index af76fa44..a74a960b 100644 --- a/cms/topics/tests/test_viewsets.py +++ b/cms/topics/tests/test_viewsets.py @@ -68,6 +68,15 @@ def test_chooser_search(self): self.assertNotContains(response, self.another_series.title) self.assertNotContains(response, self.another_topic.title) + def test_featured_series_viewset_configuration(self): + self.assertFalse(featured_series_page_chooser_viewset.register_widget) + self.assertEqual(featured_series_page_chooser_viewset.model, ArticleSeriesPageFactory._meta.model) + self.assertEqual(featured_series_page_chooser_viewset.choose_one_text, _("Choose Article Series page")) + self.assertEqual( + featured_series_page_chooser_viewset.choose_another_text, _("Choose another Article Series page") + ) + self.assertEqual(featured_series_page_chooser_viewset.edit_item_text, _("Edit Article Series page")) + class HighlightedPageChooserViewSetTest(WagtailTestUtils, TestCase): @classmethod @@ -185,19 +194,6 @@ def test_methodology_results_view_with_topic_filter(self): [self.second_methodology], ) - -class ViewSetConfigurationTest(TestCase): - """Test the configuration of the viewsets.""" - - def test_featured_series_viewset_configuration(self): - self.assertFalse(featured_series_page_chooser_viewset.register_widget) - self.assertEqual(featured_series_page_chooser_viewset.model, ArticleSeriesPageFactory._meta.model) - self.assertEqual(featured_series_page_chooser_viewset.choose_one_text, _("Choose Article Series page")) - self.assertEqual( - featured_series_page_chooser_viewset.choose_another_text, _("Choose another Article Series page") - ) - self.assertEqual(featured_series_page_chooser_viewset.edit_item_text, _("Edit Article Series page")) - def test_highlighted_article_viewset_configuration(self): self.assertFalse(highlighted_article_page_chooser_viewset.register_widget) self.assertEqual(highlighted_article_page_chooser_viewset.model, StatisticalArticlePageFactory._meta.model)