diff options
author | 2021-03-23 18:24:56 +0800 | |
---|---|---|
committer | 2021-03-23 18:38:42 +0800 | |
commit | 367ba267c4dbc6d406922f80bc4337ee9a0139a0 (patch) | |
tree | e845e88356d37f424a8bdf002b9e6fb5f4dec83f /pydis_site/apps/content/tests | |
parent | Simplify relevant_links configuration in markdown. (diff) |
Rename `articles` to `pages`.
Articles was a good name, but we want an `articles` category in
the future. `/pages/guides/` and `/pages/articles/` are clearer in name
than `/articles/guides/` and `/articles/articles/`.
Diffstat (limited to 'pydis_site/apps/content/tests')
-rw-r--r-- | pydis_site/apps/content/tests/test_utils.py | 70 | ||||
-rw-r--r-- | pydis_site/apps/content/tests/test_views.py | 127 |
2 files changed, 99 insertions, 98 deletions
diff --git a/pydis_site/apps/content/tests/test_utils.py b/pydis_site/apps/content/tests/test_utils.py index 26b2bba9..e1f1b92a 100644 --- a/pydis_site/apps/content/tests/test_utils.py +++ b/pydis_site/apps/content/tests/test_utils.py @@ -13,20 +13,20 @@ BASE_PATH = Path(settings.BASE_DIR, "pydis_site", "apps", "content", "tests", "t class TestGetCategory(TestCase): - @override_settings(ARTICLES_PATH=BASE_PATH) + @override_settings(PAGES_PATH=BASE_PATH) def test_get_category_successfully(self): """Check does this get right data from category data file.""" result = utils.get_category(["category"]) self.assertEqual(result, {"name": "My Category", "description": "My Description"}) - @override_settings(ARTICLES_PATH=BASE_PATH) + @override_settings(PAGES_PATH=BASE_PATH) def test_get_category_not_exists(self): """Check does this raise 404 error when category don't exists.""" with self.assertRaises(Http404): utils.get_category(["invalid"]) - @override_settings(ARTICLES_PATH=BASE_PATH) + @override_settings(PAGES_PATH=BASE_PATH) def test_get_category_not_directory(self): """Check does this raise 404 error when category isn't directory.""" with self.assertRaises(Http404): @@ -34,7 +34,7 @@ class TestGetCategory(TestCase): class TestGetCategories(TestCase): - @override_settings(ARTICLES_PATH=BASE_PATH) + @override_settings(PAGES_PATH=BASE_PATH) @patch("pydis_site.apps.content.utils.get_category") def test_get_categories(self, get_category_mock): """Check does this return test content categories.""" @@ -47,7 +47,7 @@ class TestGetCategories(TestCase): result, {"category": {"name": "My Category", "description": "My Description"}} ) - @override_settings(ARTICLES_PATH=BASE_PATH) + @override_settings(PAGES_PATH=BASE_PATH) def test_get_categories_root_path(self): """Check does this doesn't call joinpath when getting root categories.""" result = utils.get_categories() @@ -55,7 +55,7 @@ class TestGetCategories(TestCase): result, {"category": {"name": "My Category", "description": "My Description"}} ) - @override_settings(ARTICLES_PATH=BASE_PATH) + @override_settings(PAGES_PATH=BASE_PATH) def test_get_categories_in_category(self): """Check does this call joinpath when getting subcategories.""" result = utils.get_categories(["category"]) @@ -64,11 +64,11 @@ class TestGetCategories(TestCase): ) -class TestGetArticles(TestCase): - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_get_all_root_articles(self): +class TestGetPages(TestCase): + @override_settings(PAGES_PATH=BASE_PATH) + def test_get_all_root_pages(self): """Check does this return all root level testing content.""" - result = utils.get_articles() + result = utils.get_pages() for case in ["test", "test2"]: with self.subTest(guide=case): @@ -77,10 +77,10 @@ class TestGetArticles(TestCase): self.assertIn(case, result) self.assertEqual(md.metadata, result[case]) - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_get_all_category_articles(self): + @override_settings(PAGES_PATH=BASE_PATH) + def test_get_all_category_pages(self): """Check does this return all category testing content.""" - result = utils.get_articles(["category"]) + result = utils.get_pages(["category"]) md = markdown(BASE_PATH.joinpath("category", "test3.md").read_text(), extras=["metadata"]) @@ -88,11 +88,11 @@ class TestGetArticles(TestCase): self.assertEqual(md.metadata, result["test3"]) -class TestGetArticle(TestCase): - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_get_root_article_success(self): - """Check does this return article HTML and metadata when root article exist.""" - result = utils.get_article(["test"]) +class TestGetPage(TestCase): + @override_settings(PAGES_PATH=BASE_PATH) + def test_get_root_page_success(self): + """Check does this return page HTML and metadata when root page exist.""" + result = utils.get_page(["test"]) md = markdown( BASE_PATH.joinpath("test.md").read_text(), @@ -107,18 +107,18 @@ class TestGetArticle(TestCase): ] ) - self.assertEqual(result, {"article": str(md), "metadata": md.metadata}) + self.assertEqual(result, {"page": str(md), "metadata": md.metadata}) - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_get_root_article_dont_exist(self): - """Check does this raise Http404 when root article don't exist.""" + @override_settings(PAGES_PATH=BASE_PATH) + def test_get_root_page_dont_exist(self): + """Check does this raise Http404 when root page don't exist.""" with self.assertRaises(Http404): - utils.get_article(["invalid"]) + utils.get_page(["invalid"]) - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_get_category_article_success(self): - """Check does this return article HTML and metadata when category guide exist.""" - result = utils.get_article(["category", "test3"]) + @override_settings(PAGES_PATH=BASE_PATH) + def test_get_category_page_success(self): + """Check does this return page HTML and metadata when category guide exist.""" + result = utils.get_page(["category", "test3"]) md = markdown( BASE_PATH.joinpath("category", "test3.md").read_text(), @@ -133,16 +133,16 @@ class TestGetArticle(TestCase): ] ) - self.assertEqual(result, {"article": str(md), "metadata": md.metadata}) + self.assertEqual(result, {"page": str(md), "metadata": md.metadata}) - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_get_category_article_dont_exist(self): - """Check does this raise Http404 when category article don't exist.""" + @override_settings(PAGES_PATH=BASE_PATH) + def test_get_category_page_dont_exist(self): + """Check does this raise Http404 when category page don't exist.""" with self.assertRaises(Http404): - utils.get_article(["category", "invalid"]) + utils.get_page(["category", "invalid"]) - @patch("pydis_site.settings.ARTICLES_PATH", new=BASE_PATH) - def test_get_category_article_category_dont_exist(self): + @patch("pydis_site.settings.PAGES_PATH", new=BASE_PATH) + def test_get_category_page_category_dont_exist(self): """Check does this raise Http404 when category don't exist.""" with self.assertRaises(Http404): - utils.get_article(["invalid", "some-guide"]) + utils.get_page(["invalid", "some-guide"]) diff --git a/pydis_site/apps/content/tests/test_views.py b/pydis_site/apps/content/tests/test_views.py index 55bfb8ea..5ce18afb 100644 --- a/pydis_site/apps/content/tests/test_views.py +++ b/pydis_site/apps/content/tests/test_views.py @@ -6,143 +6,144 @@ from django.http import Http404 from django.test import RequestFactory, TestCase, override_settings from django_hosts.resolvers import reverse -from pydis_site.apps.content.views import ArticleOrCategoryView +from pydis_site.apps.content.views import PageOrCategoryView BASE_PATH = Path(settings.BASE_DIR, "pydis_site", "apps", "content", "tests", "test_content") -class TestArticlesIndexView(TestCase): - @patch("pydis_site.apps.content.views.articles.get_articles") - @patch("pydis_site.apps.content.views.articles.get_categories") - def test_articles_index_return_200(self, get_categories_mock, get_articles_mock): +class TestPagesIndexView(TestCase): + @patch("pydis_site.apps.content.views.pages.get_pages") + @patch("pydis_site.apps.content.views.pages.get_categories") + def test_pages_index_return_200(self, get_categories_mock, get_page_mock): """Check that content index return HTTP code 200.""" get_categories_mock.return_value = {} - get_articles_mock.return_value = {} + get_page_mock.return_value = {} - url = reverse('content:articles') + url = reverse('content:pages') response = self.client.get(url) self.assertEqual(response.status_code, 200) - get_articles_mock.assert_called_once() + get_page_mock.assert_called_once() get_categories_mock.assert_called_once() -class TestArticleOrCategoryView(TestCase): - @override_settings(ARTICLES_PATH=BASE_PATH) - @patch("pydis_site.apps.content.views.article_category.utils.get_article") - @patch("pydis_site.apps.content.views.article_category.utils.get_category") - def test_article_return_code_200(self, get_category_mock, get_article_mock): - get_article_mock.return_value = {"guide": "test", "metadata": {}} +class TestPageOrCategoryView(TestCase): + @override_settings(PAGES_PATH=BASE_PATH) + @patch("pydis_site.apps.content.views.page_category.utils.get_page") + @patch("pydis_site.apps.content.views.page_category.utils.get_category") + @patch("pydis_site.apps.content.views.page_category.utils.get_github_information") + def test_page_return_code_200(self, get_category_mock, get_page_mock): + get_page_mock.return_value = {"guide": "test", "metadata": {}} - url = reverse("content:article_category", args=["test2"]) + url = reverse("content:page_category", args=["test2"]) response = self.client.get(url) self.assertEqual(response.status_code, 200) get_category_mock.assert_not_called() - get_article_mock.assert_called_once() + get_page_mock.assert_called_once() - @patch("pydis_site.apps.content.views.article_category.utils.get_article") - @patch("pydis_site.apps.content.views.article_category.utils.get_category") - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_article_return_404(self, get_category_mock, get_article_mock): - """Check that return code is 404 when invalid article provided.""" - get_article_mock.side_effect = Http404("Article not found.") + @patch("pydis_site.apps.content.views.page_category.utils.get_page") + @patch("pydis_site.apps.content.views.page_category.utils.get_category") + @override_settings(PAGES_PATH=BASE_PATH) + def test_page_return_404(self, get_category_mock, get_page_mock): + """Check that return code is 404 when invalid page provided.""" + get_page_mock.side_effect = Http404("Page not found.") - url = reverse("content:article_category", args=["invalid-guide"]) + url = reverse("content:page_category", args=["invalid-guide"]) response = self.client.get(url) self.assertEqual(response.status_code, 404) - get_article_mock.assert_not_called() + get_page_mock.assert_not_called() get_category_mock.assert_not_called() - @patch("pydis_site.apps.content.views.article_category.utils.get_category") - @patch("pydis_site.apps.content.views.article_category.utils.get_articles") - @patch("pydis_site.apps.content.views.article_category.utils.get_categories") - @override_settings(ARTICLES_PATH=BASE_PATH) + @patch("pydis_site.apps.content.views.page_category.utils.get_category") + @patch("pydis_site.apps.content.views.page_category.utils.get_pages") + @patch("pydis_site.apps.content.views.page_category.utils.get_categories") + @override_settings(PAGES_PATH=BASE_PATH) def test_valid_category_code_200( self, get_categories_mock, - get_articles_mock, + get_pages_mock, get_category_mock ): """Check that return code is 200 when visiting valid category.""" get_category_mock.return_value = {"name": "test", "description": "test"} - get_articles_mock.return_value = {} + get_pages_mock.return_value = {} - url = reverse("content:article_category", args=["category"]) + url = reverse("content:page_category", args=["category"]) response = self.client.get(url) self.assertEqual(response.status_code, 200) - get_articles_mock.assert_called_once() + get_pages_mock.assert_called_once() get_category_mock.assert_called_once() get_categories_mock.assert_called_once() - @patch("pydis_site.apps.content.views.article_category.utils.get_category") - @patch("pydis_site.apps.content.views.article_category.utils.get_articles") - @patch("pydis_site.apps.content.views.article_category.utils.get_categories") - @override_settings(ARTICLES_PATH=BASE_PATH) + @patch("pydis_site.apps.content.views.page_category.utils.get_category") + @patch("pydis_site.apps.content.views.page_category.utils.get_pages") + @patch("pydis_site.apps.content.views.page_category.utils.get_categories") + @override_settings(PAGES_PATH=BASE_PATH) def test_invalid_category_code_404( self, get_categories_mock, - get_articles_mock, + get_pages_mock, get_category_mock ): """Check that return code is 404 when trying to visit invalid category.""" get_category_mock.side_effect = Http404("Category not found.") - url = reverse("content:article_category", args=["invalid-category"]) + url = reverse("content:page_category", args=["invalid-category"]) response = self.client.get(url) self.assertEqual(response.status_code, 404) get_category_mock.assert_not_called() - get_articles_mock.assert_not_called() + get_pages_mock.assert_not_called() get_categories_mock.assert_not_called() - @patch("pydis_site.apps.content.views.article_category.utils.get_article") - @patch("pydis_site.apps.content.views.article_category.utils.get_category") - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_valid_category_article_code_200( + @patch("pydis_site.apps.content.views.page_category.utils.get_page") + @patch("pydis_site.apps.content.views.page_category.utils.get_category") + @override_settings(PAGES_PATH=BASE_PATH) + def test_valid_category_page_code_200( self, get_category_mock, - get_article_mock + get_page_mock ): - """Check that return code is 200 when visiting valid category article.""" - get_article_mock.return_value = {"guide": "test", "metadata": {}} + """Check that return code is 200 when visiting valid category page.""" + get_page_mock.return_value = {"guide": "test", "metadata": {}} - url = reverse("content:article_category", args=["category/test3"]) + url = reverse("content:page_category", args=["category/test3"]) response = self.client.get(url) self.assertEqual(response.status_code, 200) - get_article_mock.assert_called_once() + get_page_mock.assert_called_once() self.assertEqual(get_category_mock.call_count, 2) - @patch("pydis_site.apps.content.views.article_category.utils.get_article") - @patch("pydis_site.apps.content.views.article_category.utils.get_category") - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_invalid_category_article_code_404( + @patch("pydis_site.apps.content.views.page_category.utils.get_page") + @patch("pydis_site.apps.content.views.page_category.utils.get_category") + @override_settings(PAGES_PATH=BASE_PATH) + def test_invalid_category_page_code_404( self, get_category_mock, - get_article_mock + get_page_mock ): - """Check that return code is 200 when trying to visit invalid category article.""" - get_article_mock.side_effect = Http404("Article not found.") + """Check that return code is 200 when trying to visit invalid category page.""" + get_page_mock.side_effect = Http404("Page not found.") - url = reverse("content:article_category", args=["category/invalid"]) + url = reverse("content:page_category", args=["category/invalid"]) response = self.client.get(url) self.assertEqual(response.status_code, 404) - get_article_mock.assert_not_called() + get_page_mock.assert_not_called() get_category_mock.assert_not_called() - @override_settings(ARTICLES_PATH=BASE_PATH) - def test_article_category_template_names(self): - """Check that this return category, article template or raise Http404.""" + @override_settings(PAGES_PATH=BASE_PATH) + def test_page_category_template_names(self): + """Check that this return category, page template or raise Http404.""" factory = RequestFactory() cases = [ {"location": "category", "output": ["content/listing.html"]}, - {"location": "test", "output": ["content/article.html"]}, + {"location": "test", "output": ["content/page.html"]}, {"location": "invalid", "output": None, "raises": Http404} ] for case in cases: with self.subTest(location=case["location"], output=case["output"]): - request = factory.get(f"/articles/{case['location']}") - instance = ArticleOrCategoryView() + request = factory.get(f"/pages/{case['location']}") + instance = PageOrCategoryView() instance.request = request instance.kwargs = {"location": case["location"]} |