++ Modulo pubblico: nella riconsegna il territorio si sceglie con il completamento automatico
Elenco con solo numero e zona (territori attivi e quelli ancora fuori), mostrato solo per la riconsegna; il server accetta solo un numero dell'elenco. Privacy, README e HANDOFF aggiornati. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,6 +15,7 @@ use App\Models\Richiesta;
|
||||
use App\Models\Setting;
|
||||
use App\Models\Territorio;
|
||||
use App\Models\User;
|
||||
use App\Models\Zona;
|
||||
use App\Notifications\RichiestaRicevuta;
|
||||
use App\Services\RichiesteServizio;
|
||||
use Database\Seeders\RolesAndPermissionsSeeder;
|
||||
@@ -146,6 +147,7 @@ class RichiesteTest extends TestCase
|
||||
public function test_senza_posta_la_richiesta_resta_comunque(): void
|
||||
{
|
||||
Notification::fake();
|
||||
$this->territorio('12');
|
||||
auth()->logout();
|
||||
|
||||
$this->compila(['tipo' => Richiesta::RICONSEGNA, 'nome' => 'Mario Rossi', 'numero' => '12'])->assertHasNoErrors();
|
||||
@@ -162,6 +164,35 @@ class RichiesteTest extends TestCase
|
||||
$this->assertSame(0, Richiesta::count());
|
||||
}
|
||||
|
||||
public function test_nella_riconsegna_il_territorio_si_sceglie_dall_elenco(): void
|
||||
{
|
||||
$zona = Zona::create(['nome' => 'Centro storico']);
|
||||
Territorio::create(['numero' => '12', 'zona_id' => $zona->id, 'attivo' => true]);
|
||||
Territorio::create(['numero' => '3B', 'attivo' => true]);
|
||||
$fuori = Territorio::create(['numero' => '40', 'attivo' => true]);
|
||||
$this->assegna($fuori, $this->proclamatore('Verdi', 'Anna'), '2026-10-01');
|
||||
$fuori->update(['attivo' => false]);
|
||||
Territorio::create(['numero' => '77', 'attivo' => false]);
|
||||
auth()->logout();
|
||||
|
||||
// L'elenco c'è solo nella riconsegna: numero e zona, nient'altro.
|
||||
$modulo = Livewire::test(ModuloRichiesta::class)
|
||||
->assertViewHas('opzioniTerritori', [])
|
||||
->set('tipo', Richiesta::RICONSEGNA)
|
||||
->assertSee('Centro storico')
|
||||
->assertDontSee('Verdi')
|
||||
->assertDontSee('assegnat');
|
||||
$this->assertSame(['3B', '12', '40'], array_column($modulo->viewData('opzioniTerritori'), 'valore'),
|
||||
'In ordine di numero; c\'è anche quello disattivato ma ancora fuori, non quello disattivato e rientrato');
|
||||
|
||||
$this->compila(['tipo' => Richiesta::RICONSEGNA, 'nome' => 'Anna Verdi', 'numero' => '99'])->assertHasErrors('numero');
|
||||
$this->compila(['tipo' => Richiesta::RICONSEGNA, 'nome' => 'Anna Verdi', 'numero' => '77'])->assertHasErrors('numero');
|
||||
$this->assertSame(0, Richiesta::count());
|
||||
|
||||
$this->compila(['tipo' => Richiesta::RICONSEGNA, 'nome' => 'Anna Verdi', 'numero' => '3b'])->assertHasNoErrors();
|
||||
$this->assertSame('3b', Richiesta::sole()->numero_territorio);
|
||||
}
|
||||
|
||||
public function test_lo_spam_non_si_salva_e_non_se_ne_accorge(): void
|
||||
{
|
||||
// Il campo trappola riempito.
|
||||
|
||||
Reference in New Issue
Block a user