def test_create_creates_user(self): username_ticket = UsernameTicket("sayre") password_ticket = PasswordTicket("SomePassword#123") name_ticket = NameTicket("Stephen", "Ayre") user_created = self.user_manager.create(username_ticket, password_ticket, name_ticket) user_fetched = self.user_manager.get(user_created.get_id()) self.assertEqual(user_created.get_id(), user_fetched.get_id()) self.assertEqual(user_created.get_uuid(), user_fetched.get_uuid()) self.assertEqual(username_ticket.get(), user_created.get_username()) self.assertEqual(name_ticket.get_first_name(), user_created.get_first_name()) self.assertEqual(name_ticket.get_last_name(), user_created.get_last_name()) self.assertEqual(self.user_statuses.ACTIVE.get_id(), user_created.get_status().get_id())
def create(self, username: UsernameTicket, password: PasswordTicket, names: NameTicket) -> User: """ Create user Args: username (UsernameTicket): Object that validates username password (PasswordTicket): Object that validates password names (NameTicket): Object that validates first and last name Returns: User """ result = self.__user_data.insert( **{ "username": username.get(), "password": self.__encrypt_password(password.get()), "first_name": names.get_first_name(), "last_name": names.get_last_name(), "status_id": self.__statuses.ACTIVE.get_id() }) if not result.get_status(): raise UserCreateError("Could not create user") return self.get(result.get_insert_id())