++ Il mio gruppo: il numero del territorio apre l'anteprima

Il numero diventa un pulsante che apre una finestra con la miniatura e il
collegamento al PDF. La miniatura passa dalla rotta nuova
mio-gruppo.miniatura, con la stessa regola del PDF: solo i territori del
pacchetto del gruppo sorvegliato.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Francesco Picone
2026-10-21 16:27:50 +02:00
parent 9e473cd7fd
commit 2fb9838a0e
8 changed files with 106 additions and 7 deletions

View File

@@ -352,6 +352,29 @@ class GruppiServizioTest extends TestCase
$this->assertSame('in_reparto', $territori[2]->fresh()->stato);
}
public function test_il_sorvegliante_apre_l_anteprima_dal_numero_del_territorio(): void
{
['sorvegliante' => $s, 'territori' => $territori] = $this->gruppo();
$fuori = $this->territorio('88');
foreach ([$territori[0], $fuori] as $t) {
Storage::disk('public')->put("territori-thumbnails/t{$t->numero}.png", 'PNG');
$t->forceFill(['thumbnail_path' => "territori-thumbnails/t{$t->numero}.png"])->save();
}
$dodici = $territori[0]->fresh();
$this->flushSession();
// Il numero è un pulsante che porta miniatura e PDF del pacchetto.
$this->actingAs($s)->get(route('mio-gruppo'))->assertOk()
->assertSee('data-miniatura="' . $dodici->miniaturaGruppoUrl() . '"', false)
->assertSee('data-pdf="' . route('mio-gruppo.pdf', $dodici) . '"', false)
->assertSee('Apri la piantina (PDF)');
// La miniatura si apre solo per il proprio pacchetto, e solo da qui.
$this->actingAs($s)->get($dodici->miniaturaGruppoUrl())->assertOk();
$this->actingAs($s)->get(route('mio-gruppo.miniatura', $fuori))->assertForbidden();
$this->actingAs($s)->get($dodici->miniaturaUrl())->assertForbidden();
}
public function test_la_piantina_del_pacchetto_si_apre_solo_per_il_proprio_gruppo(): void
{
['sorvegliante' => $s, 'territori' => $territori] = $this->gruppo();