def validate_name(self, min_length, model, parameter): if len(parameter) < min_length: message = "The name should be at least {} symbols" raise Exception(message.format(min_length)) repository = Repository(self.__db_name) if repository.is_name_used(model, parameter): raise Exception("This name is already taken")
class RepositoryTest(unittest.TestCase): def setUp(self): self.r = Repository('../../database/zoos_test_database.db') def test_is_name_used(self): self.assertTrue(self.r.is_name_used('species', 'lion')) self.assertTrue(not self.r.is_name_used('species', 'dog')) self.assertTrue(self.r.is_name_used('zoos', 'Zoo Sofia')) self.assertTrue(not self.r.is_name_used('zoos', 'My Awesome Zoo')) self.assertTrue(self.r.is_name_used('animals', 'Hippi')) self.assertTrue(not self.r.is_name_used('animals', 'Im Bad At Naming'))