* @category Class * @license https://www.gnu.org/licenses/lgpl-3.0.en.html GNU Lesser General Public License * @link www.splendidbear.org * @since 2026. 04. 21. * * @extends PersistentProxyObjectFactory */ class UserFactory extends PersistentProxyObjectFactory { protected function defaults(): array { return [ 'username' => self::faker()->unique()->userName(), 'email' => self::faker()->unique()->safeEmail(), 'password' => 'hashedpassword', 'isVerified' => true, 'roles' => [], ]; } public static function class(): string { return User::class; } public function withPassword(string $hashedPassword): self { return $this->with(['password' => $hashedPassword]); } public function unverified(): self { return $this->with(['isVerified' => false]); } public function withRoles(array $roles): self { return $this->with(['roles' => $roles]); } }