class RepoTests(unittest.TestCase): def setUp(self) -> None: self.repo = Repo() def test_add_person(self): person = Person() person.name = "Ольга" result: Dict[bool, Person] = self.repo.add_person(person) self.assertTrue(result['ok']) self.assertEqual("", person.email) self.assertEqual("", person.phone) def test_add_persons(self): person1 = Person() person1.name = "Ольга" person2 = Person() person2.name = "Олег" persons = [person1, person2] results = self.repo.add_persons(persons) self.assertTrue(len(results) == 2) self.assertEqual(1, results[0]['person'].id) self.assertEqual(2, results[1]['person'].id) def test_update_person(self): person = Person() person.name = "Ольга" result_add: Dict[bool, Person] = self.repo.add_person(person) self.assertTrue(result_add['ok']) person_data = { 'id': person.id, 'email': '*****@*****.**', 'phone': '+74262240149' } result2 = self.repo.update_person(person_data) person2 = self.repo.get_person(person.id) self.assertTrue(result2['ok']) self.assertEqual('*****@*****.**', person2.email) self.assertEqual('+74262240149', person2.phone) def test_get_non_exist_person(self): person = self.repo.get_person(0) self.assertIsNone(person) def test_get_person(self): person = Person() person.name = "Ольга" self.repo.add_person(person) person1 = self.repo.get_person(1) self.assertEqual(1, person1.id) def test_validate_add_person(self): invalid_person1 = Person() invalid_person1.id = 11 is_valid1: bool = Repo.validate_add_person(invalid_person1) invalid_person2 = Person() invalid_person2.email = "*****@*****.**" is_valid2: bool = Repo.validate_add_person(invalid_person2) valid_person = Person() valid_person.name = 'Eugeny' is_valid3: bool = Repo.validate_add_person(valid_person) self.assertFalse(is_valid1) self.assertFalse(is_valid2) self.assertTrue(is_valid3) def test_validate_update_person(self): invalid_data = {'name': 'Eugeny'} is_valid1 = Repo.validate_update_person(invalid_data) valid_data = {'id': 123} is_valid2 = Repo.validate_update_person(valid_data) self.assertFalse(is_valid1) self.assertTrue(is_valid2)