Toglie la notifica di prova dalle Opzioni.

Era impalcatura per diagnosticare "le push non arrivano": ha fatto il suo
lavoro, la causa e' documentata nei limiti noti. Lasciare il pulsante avrebbe
tenuto in piedi anche la route push-prova e notificaDiProva, senza piu' nessuno
che le usa.

Via il pulsante, la funzione client, la route e i test che la coprivano. Resta
in git se dovesse servire di nuovo.

inviaPush continua a tornare { stato, corpo } e a loggare i rifiuti: serve alle
tre route che mandano notifiche, non solo alla prova.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-06 15:16:41 +02:00
co-authored by Claude Opus 5
parent 5c709c1a12
commit fb6bde279e
7 changed files with 3 additions and 203 deletions
-17
View File
@@ -114,12 +114,6 @@ try {
assert.equal((await postJson("/api/public/push-messaggio", {})).status, 404);
});
await prova("push-prova rifiuta i payload non validi senza inviare notifiche", async () => {
for (const body of [{}, { endpoint: "non-un-url" }, { endpoint: "x".repeat(1001) }]) {
assert.equal((await postJson("/api/public/push-prova", body)).status, 400);
}
});
// --- le route che mandano notifiche a tutti (DD-024) ------------------------
// Il controllo di accesso viene prima della validazione: senza credenziali la
// risposta non deve nemmeno dire se l'evento esiste.
@@ -158,17 +152,6 @@ try {
// --- endpoint che leggono dal database -------------------------------------
if (haSupabase()) {
await prova("push-prova segnala un dispositivo non iscritto senza inviare", async () => {
const res = await postJson("/api/public/push-prova", {
endpoint: `https://push.example/test-${Date.now()}`,
});
assert.equal(res.status, 200);
const dati = (await json(res)) as { nelDatabase?: boolean; stato?: number; corpo?: string };
assert.equal(dati.nelDatabase, false);
assert.equal(dati.stato, 0, "nessuna chiamata al servizio push");
assert.ok(dati.corpo, "spiega come riattivare le notifiche");
});
// La validazione dell'input di sollecita-presenze (400 sul corpo vuoto, 404
// sull'evento inesistente) ora sta dietro al controllo di accesso: serve un
// token di amministratore, che questo file non ha. La copre
-4
View File
@@ -8,7 +8,6 @@ import {
attivaNotifiche,
disattivaNotifiche,
mantieniWorkerPushAggiornato,
notificaDiProva,
pushSupportato,
statoNotifiche,
} from "@/lib/push-client";
@@ -23,9 +22,6 @@ assert.equal(await statoNotifiche(), false);
// --- attivaNotifiche: rifiuta subito, senza chiedere permessi o rete ----------
await assert.rejects(() => attivaNotifiche("g1"), /Notifiche non supportate su questo dispositivo/);
// --- notificaDiProva: rifiuta subito, senza toccare la rete -------------------
await assert.rejects(() => notificaDiProva(), /Notifiche non supportate su questo dispositivo/);
// --- disattivaNotifiche: no-op silenzioso, nessun errore ----------------------
await assert.doesNotReject(() => disattivaNotifiche());