++ Utenti: nuova password temporanea per il sorvegliante di gruppo
Sulla riga del sorvegliante, che prima non aveva azioni: "Nuova password temporanea" (mostrata una volta, da cambiare al primo accesso) e "Apri il gruppo". La logica sta in GruppiServizio::nuovaPasswordTemporanea(), usata anche dalla pagina del gruppo; azzera anche il "ricordami". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -155,6 +155,33 @@ class GruppiServizioTest extends TestCase
|
||||
$this->assertNotNull($sorvegliante->fresh());
|
||||
}
|
||||
|
||||
public function test_dal_pannello_utenti_si_da_al_sorvegliante_una_nuova_password_temporanea(): void
|
||||
{
|
||||
['sorvegliante' => $s, 'gruppo' => $gruppo] = $this->gruppo();
|
||||
|
||||
$pagina = Livewire::test(UsersIndex::class)
|
||||
->assertSee('Nuova password temporanea')
|
||||
->assertSee(route('gruppi.show', $gruppo), false)
|
||||
->call('nuovaPasswordSorvegliante', $s->id);
|
||||
|
||||
// Si vede una volta, ed è quella vera: temporanea, da cambiare.
|
||||
$password = $pagina->get('passwordTemporanea');
|
||||
$this->assertNotEmpty($password);
|
||||
$pagina->assertSee($password)->assertSee('mrossi@termanager.it');
|
||||
$s->refresh();
|
||||
$this->assertTrue(\Illuminate\Support\Facades\Hash::check($password, $s->password));
|
||||
$this->assertTrue($s->password_change_required);
|
||||
$this->assertTrue($s->password_temporanea);
|
||||
$this->assertSame(1, \Spatie\Activitylog\Models\Activity::where('description', 'password_reimpostata')->count());
|
||||
|
||||
$pagina->call('chiudiPassword')->assertDontSee($password);
|
||||
|
||||
// Solo per i sorveglianti: gli altri utenti hanno il loro modulo.
|
||||
$pagina->call('nuovaPasswordSorvegliante', $this->admin->id)
|
||||
->assertDispatched('avviso', fn ($nome, $parametri) => $parametri['tipo'] === 'errore');
|
||||
$this->assertTrue(\Illuminate\Support\Facades\Hash::check('password-di-prova', $this->admin->fresh()->password));
|
||||
}
|
||||
|
||||
// ─── Pacchetto ──────────────────────────────────────────────
|
||||
|
||||
public function test_il_pacchetto_non_e_un_assegnazione_e_non_e_in_reparto(): void
|
||||
|
||||
Reference in New Issue
Block a user