mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-23 18:13:56 +03:00
64 lines
2.1 KiB
Python
64 lines
2.1 KiB
Python
"""Tests module."""
|
|
|
|
from unittest import mock
|
|
|
|
from django.urls import reverse
|
|
from django.test import TestCase
|
|
from github import Github
|
|
|
|
from githubnavigator import container
|
|
|
|
|
|
class IndexTests(TestCase):
|
|
|
|
def test_index(self):
|
|
github_client_mock = mock.Mock(spec=Github)
|
|
github_client_mock.search_repositories.return_value = [
|
|
mock.Mock(
|
|
html_url="repo1-url",
|
|
name="repo1-name",
|
|
owner=mock.Mock(
|
|
login="owner1-login",
|
|
html_url="owner1-url",
|
|
avatar_url="owner1-avatar-url",
|
|
),
|
|
get_commits=mock.Mock(return_value=[mock.Mock()]),
|
|
),
|
|
mock.Mock(
|
|
html_url="repo2-url",
|
|
name="repo2-name",
|
|
owner=mock.Mock(
|
|
login="owner2-login",
|
|
html_url="owner2-url",
|
|
avatar_url="owner2-avatar-url",
|
|
),
|
|
get_commits=mock.Mock(return_value=[mock.Mock()]),
|
|
),
|
|
]
|
|
|
|
with container.github_client.override(github_client_mock):
|
|
response = self.client.get(reverse("index"))
|
|
|
|
self.assertContains(response, "Results found: 2")
|
|
|
|
self.assertContains(response, "repo1-url")
|
|
self.assertContains(response, "repo1-name")
|
|
self.assertContains(response, "owner1-login")
|
|
self.assertContains(response, "owner1-url")
|
|
self.assertContains(response, "owner1-avatar-url")
|
|
|
|
self.assertContains(response, "repo2-url")
|
|
self.assertContains(response, "repo2-name")
|
|
self.assertContains(response, "owner2-login")
|
|
self.assertContains(response, "owner2-url")
|
|
self.assertContains(response, "owner2-avatar-url")
|
|
|
|
def test_index_no_results(self):
|
|
github_client_mock = mock.Mock(spec=Github)
|
|
github_client_mock.search_repositories.return_value = []
|
|
|
|
with container.github_client.override(github_client_mock):
|
|
response = self.client.get(reverse("index"))
|
|
|
|
self.assertContains(response, "Results found: 0")
|