aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps
diff options
context:
space:
mode:
Diffstat (limited to 'pydis_site/apps')
-rw-r--r--pydis_site/apps/guides/tests/test_utils.py35
1 files changed, 34 insertions, 1 deletions
diff --git a/pydis_site/apps/guides/tests/test_utils.py b/pydis_site/apps/guides/tests/test_utils.py
index a086cdaf..b72aee92 100644
--- a/pydis_site/apps/guides/tests/test_utils.py
+++ b/pydis_site/apps/guides/tests/test_utils.py
@@ -1,9 +1,10 @@
import os
-from unittest.mock import patch
+from unittest.mock import patch, DEFAULT
from django.conf import settings
from django.http import Http404
from django.test import TestCase
+from markdown import Markdown
from pydis_site.apps.guides import utils
@@ -53,3 +54,35 @@ class TestGetCategories(TestCase):
result = utils.get_categories()
self.assertEqual(result, {"category": {"name": "My Category", "description": "My Description"}})
+
+
+class TestGetGuides(TestCase):
+ def test_get_all_root_guides(self):
+ """Check does this return all root level testing guides."""
+ path = os.path.join(settings.BASE_DIR, "pydis_site", "apps", "guides", "tests", "test_guides")
+
+ with patch("pydis_site.apps.guides.utils._get_base_path", return_value=path):
+ result = utils.get_guides()
+
+ for case in ["test", "test2"]:
+ with self.subTest(guide=case):
+ md = Markdown(extensions=['meta'])
+ with open(os.path.join(path, f"{case}.md")) as f:
+ md.convert(f.read())
+
+ self.assertIn(case, result)
+ self.assertEqual(md.Meta, result[case])
+
+ def test_get_all_category_guides(self):
+ """Check does this return all category testing guides."""
+ path = os.path.join(settings.BASE_DIR, "pydis_site", "apps", "guides", "tests", "test_guides")
+
+ with patch("pydis_site.apps.guides.utils._get_base_path", return_value=path):
+ result = utils.get_guides("category")
+
+ md = Markdown(extensions=['meta'])
+ with open(os.path.join(path, "category", "test3.md")) as f:
+ md.convert(f.read())
+
+ self.assertIn("test3", result)
+ self.assertEqual(md.Meta, result["test3"])