from collections import namedtuple from actioner.utils.github import get_existing_task, get_issue_link from tests import BaseTestCase FakeIssue = namedtuple('FakeIssue', ['number', 'html_url', 'title']) class IssueLinkTestCase(BaseTestCase): def setUp(self): super().setUp() self.issue = FakeIssue(123, 'https://github.com/repo/thing', 'issue title') def test_creates_link(self): self.assertEqual(get_issue_link(self.issue), "[#123](https://github.com/repo/thing)") class ExistingTaskTestCase(BaseTestCase): def setUp(self): super().setUp() self.tasks = { 123: '[#1](url): title', 456: '[#2](url/2): title 2', 789: '[#3](url/3): title 3', } def test_finds_existing_repos(self): self.assertEqual( get_existing_task(self.tasks, FakeIssue(1, 'url', 'title')), 123 ) def test_not_existing_repo(self): self.assertIsNone( get_existing_task(self.tasks, FakeIssue(123, 'url', 'title')) )