Created
July 8, 2020 09:43
-
-
Save samed-mirzayev/f2d361ff7402434a625fcf219671a654 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import unittest | |
| from models import * | |
| from stories import * | |
| class TestStories(unittest.TestCase): | |
| def setUp(self): | |
| self.phone_book = PhoneBook() | |
| self.person_factory = Person | |
| self.add_user_story = AddUserStory(self.phone_book, self.person_factory) | |
| self.remove_user_story = RemoveUserStory(self.phone_book) | |
| self.find_user_story = FindUserStory(self.phone_book) | |
| self.list_users_story = ListUserStory(self.phone_book) | |
| self.p1 = Person(first_name = "John", last_name = "Malkovich", phone_number = 46646464) | |
| self.p2 = Person(first_name = "Andreas", last_name = "Iniesta", phone_number = 5343555) | |
| def test_can_add_person(self): | |
| self.add_user_story.run(self.p1) | |
| self.add_user_story.run(self.p2) | |
| self.assertIn(self.add_user_story, self.phone_book) | |
| def test_fail_when_missing_params(self): | |
| self.add_user_story.run(p1) | |
| self.assertNotIn(self.add_user_story, self.phone_book) | |
| def test_can_remove_person(self): | |
| self.assertTrue(self.remove_user_story(first_name = "John")) | |
| def test_can_not_remove_if_person_not_in_contacts(self): | |
| self.assertFalse(self.remove_user_story(first_name = "Jack")) | |
| def test_can_find_person_by_name(self): | |
| self.assertTrue(self.find_user_story.run(keyword = 'first_name', value = 'John')) | |
| def test_can_find_person_by_last_name(self): | |
| self.assertTrue(self.find_user_story.run(keyword = 'last_name', value = 'Malkovich')) | |
| def test_can_find_person_by_phone_number(self): | |
| self.assertTrue(self.find_user_story.run(keyword = 'phone_number', value = 46646464)) | |
| def test_returns_empty_list_when_not_found(self): | |
| self.assertEqual(self.find_user_story.run(keyword = 'first_name', value = 'Rooney'), []) | |
| def test_sort_contacts(self): | |
| self.add_user_story(self.p1) | |
| self.add_user_story(self.p2) | |
| results = self.phone_book.sort_by() | |
| self.assertEqual(results, [self.p2, self.p1]) | |
| def test_list_users(self): | |
| self.add_user_story(self.p1) | |
| self.add_user_story(self.p2) | |
| results = self.list_users_story(keyword = "show_list") | |
| self.assertEqual(results, [self.p1, self.p2]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment