aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/content/tests
diff options
context:
space:
mode:
authorGravatar kosayoda <[email protected]>2021-03-23 18:24:56 +0800
committerGravatar kosayoda <[email protected]>2021-03-23 18:38:42 +0800
commit367ba267c4dbc6d406922f80bc4337ee9a0139a0 (patch)
treee845e88356d37f424a8bdf002b9e6fb5f4dec83f /pydis_site/apps/content/tests
parentSimplify 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.py70
-rw-r--r--pydis_site/apps/content/tests/test_views.py127
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"]}