diff options
author | 2019-04-20 01:53:22 +0200 | |
---|---|---|
committer | 2019-04-20 01:53:22 +0200 | |
commit | 142a15e9f3f6abb8a965b625b809474d5b1a3c11 (patch) | |
tree | 977eda5f18975de09d14bc985a30118c71c6fef0 | |
parent | Adding a Discord menu item to the hamburger, and upping test coverage back to... (diff) |
Add type hinting.
-rw-r--r-- | pydis_site/apps/home/tests/test_repodata_helpers.py | 10 | ||||
-rw-r--r-- | pydis_site/apps/home/views/home.py | 11 |
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() |