diff options
| -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() | 
