$name], ['description' => $name.' role']); } /** Utente pienamente operativo: verificato, setup completo, ruolo User. */ protected function operationalUser(array $overrides = []): User { return User::factory()->create(array_merge([ 'role_id' => $this->role(UserRole::USER)->id, 'email_verified_at' => now(), 'must_change_password' => false, 'two_factor_setup_completed_at' => now(), ], $overrides)); } /** Operativo con ruolo Admin → supera tier.admin / IsAdmin. */ protected function adminUser(array $overrides = []): User { return $this->operationalUser(array_merge([ 'role_id' => $this->role(UserRole::ADMIN)->id, ], $overrides)); } /** Utente di sistema (destinatario dei contenuti riassegnati, non eliminabile). */ protected function systemUser(array $overrides = []): User { return $this->operationalUser(array_merge([ 'is_system' => true, 'role_id' => $this->role(UserRole::ADMIN)->id, ], $overrides)); } /** Autenticato ma setup incompleto (deve cambiare password). */ protected function setupIncompleteUser(array $overrides = []): User { return $this->operationalUser(array_merge([ 'must_change_password' => true, ], $overrides)); } /** Setup completo ma email non verificata → blocco di `verified`. */ protected function unverifiedUser(array $overrides = []): User { return $this->operationalUser(array_merge([ 'email_verified_at' => null, ], $overrides)); } }