b331d68572c48a541b5693134b2c41f4a32ca9c6
Exporta classifySendError (era privada do store) pra poder testar isolada. A funcao e' deterministica e pura, entao spec direto vale mais que stub do supabase.functions.invoke. Cobertura: - 5xx downstream (502/503/504) -> banner "fora do ar" com 2 CTAs (Configurar + Comprar creditos), incluindo o case sem code - http_500 explicitamente NAO cai no ramo 5xx (e' catch geral, nao "downstream fora") — checagem de regressao - insufficient_credits, canal nao configurado/inativo (3 variacoes de string), credenciais evolution/twilio incompletas - evolution retornou X (com e sem status 5xx — confirma precedencia dos ramos), twilio_send_failed_<code> - auth (sessao expirou), forbidden (sem permissao) — ambos sem CTA - "Edge Function returned a non-2xx" wrapper do supabase-js - Fallback generico: code desconhecido com message custom; code+message vazios -> mensagem padrao - Robustez: case-insensitive (INSUFFICIENT_CREDITS -> reconhece), status nao-numerico -> null em vez de NaN, codes nao-string (undefined/number/object) nao quebram Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sakai is an application template for Vue based on the create-vue, the recommended way to start a Vite-powered Vue projects.
Visit the documentation to get started.
Description
Languages
Vue
61.3%
PLpgSQL
17.4%
JavaScript
16%
HTML
2.7%
TypeScript
2.3%
Other
0.3%