def test_update_updates_user(self): user = self.user_manager.create(UsernameTicket("sayre"), PasswordTicket("SomePassword#123"), NameTicket("First", "Last")) new_name = NameTicket("Newfirst", "Newlast") self.user_manager.update(user.get_id(), new_name) user_fetched = self.user_manager.get(user.get_id()) self.assertEqual(new_name.get_first_name(), user_fetched.get_first_name()) self.assertEqual(new_name.get_last_name(), user_fetched.get_last_name())
def update(self, user_id, names: NameTicket) -> User: """ Update user information Args: user_id (ID): User ID names (NameTicket): Object for validating first and last name Returns: User """ result = self.__user_data.update(user_id, first_name=names.get_first_name(), last_name=names.get_last_name()) if not result.get_status(): raise UserUpdateError("Could not update user") return self.get(user_id)
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())