aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2019-04-20 01:53:22 +0200
committerGravatar Leon Sandøy <[email protected]>2019-04-20 01:53:22 +0200
commit142a15e9f3f6abb8a965b625b809474d5b1a3c11 (patch)
tree977eda5f18975de09d14bc985a30118c71c6fef0 /pydis_site
parentAdding a Discord menu item to the hamburger, and upping test coverage back to... (diff)
Add type hinting.
Diffstat (limited to 'pydis_site')
-rw-r--r--pydis_site/apps/home/tests/test_repodata_helpers.py10
-rw-r--r--pydis_site/apps/home/views/home.py11
2 files changed, 13 insertions, 8 deletions
diff --git a/pydis_site/apps/home/tests/test_repodata_helpers.py b/pydis_site/apps/home/tests/test_repodata_helpers.py
index be51dce4..639c6fac 100644
--- a/pydis_site/apps/home/tests/test_repodata_helpers.py
+++ b/pydis_site/apps/home/tests/test_repodata_helpers.py
@@ -10,7 +10,7 @@ from pydis_site.apps.home.models import RepositoryMetadata
from pydis_site.apps.home.views import HomeView
-def mocked_requests_get(*args, **kwargs):
+def mocked_requests_get(*args, **kwargs) -> "MockResponse":
"""A mock version of requests.get, so we don't need to call the API every time we run a test"""
class MockResponse:
def __init__(self, json_data, status_code):
@@ -38,7 +38,7 @@ class TestRepositoryMetadataHelpers(TestCase):
self.home_view = HomeView()
@mock.patch('requests.get', side_effect=mocked_requests_get)
- def test_returns_metadata(self, _):
+ def test_returns_metadata(self, _: mock.MagicMock):
"""Test if the _get_repo_data helper actually returns what it should."""
metadata = self.home_view._get_repo_data()
@@ -63,7 +63,7 @@ class TestRepositoryMetadataHelpers(TestCase):
self.assertIsInstance(str(metadata[0]), str)
@mock.patch('requests.get', side_effect=mocked_requests_get)
- def test_refresh_stale_metadata(self, _):
+ def test_refresh_stale_metadata(self, _: mock.MagicMock):
"""Test if the _get_repo_data helper will refresh when the data is stale"""
repo_data = RepositoryMetadata(
@@ -80,7 +80,7 @@ class TestRepositoryMetadataHelpers(TestCase):
self.assertIsInstance(metadata[0], RepositoryMetadata)
@mock.patch('requests.get', side_effect=mocked_requests_get)
- def test_returns_api_data(self, _):
+ def test_returns_api_data(self, _: mock.MagicMock):
"""Tests if the _get_api_data helper returns what it should."""
api_data = self.home_view._get_api_data()
@@ -92,7 +92,7 @@ class TestRepositoryMetadataHelpers(TestCase):
self.assertIn("stargazers_count", api_data[repo])
@mock.patch('requests.get', side_effect=mocked_requests_get)
- def test_mocked_requests_get(self, mock_get):
+ def test_mocked_requests_get(self, mock_get: mock.MagicMock):
"""Tests if our mocked_requests_get is returning what it should."""
success_data = mock_get(HomeView.github_api)
diff --git a/pydis_site/apps/home/views/home.py b/pydis_site/apps/home/views/home.py
index dbd65faf..fc552071 100644
--- a/pydis_site/apps/home/views/home.py
+++ b/pydis_site/apps/home/views/home.py
@@ -1,4 +1,9 @@
+from typing import Dict, Union, List
+
import requests
+from django.core.handlers.wsgi import WSGIRequest
+from django.db.models import QuerySet
+from django.http import HttpResponse
from django.shortcuts import render
from django.utils import timezone
from django.views import View
@@ -22,7 +27,7 @@ class HomeView(View):
"python-discord/django-crispy-bulma",
]
- def _get_api_data(self):
+ def _get_api_data(self) -> Dict[str, Dict[str, str]]:
"""Call the GitHub API and get information about our repos."""
repo_dict = {repo_name: {} for repo_name in self.repos}
@@ -45,7 +50,7 @@ class HomeView(View):
}
return repo_dict
- def _get_repo_data(self):
+ def _get_repo_data(self) -> List[RepositoryMetadata]:
"""Build a list of RepositoryMetadata objects that we can use to populate the front page."""
# Try to get site data from the cache
@@ -104,7 +109,7 @@ class HomeView(View):
return database_repositories
- def get(self, request):
+ def get(self, request: WSGIRequest) -> HttpResponse:
"""Collect repo data and render the homepage view"""
repo_data = self._get_repo_data()