diff --git a/tests/test_signed_goldens.py b/tests/test_signed_goldens.py index 636e052..780d22f 100644 --- a/tests/test_signed_goldens.py +++ b/tests/test_signed_goldens.py @@ -139,6 +139,21 @@ async def test_signed_golden_matches_byte_for_byte(db_session, monkeypatch, case # (design spec EMENDA F1: este serviço nunca aplica esse default # sozinho, o produto chamador sempre declara). "ver_proc": raw.get("ver_proc", "sowai-auto/1b.1"), + # Campos opcionais que `sowai_fiscal.golden_helpers.dados_from_ + # json` só seta quando presentes no JSON golden (caindo no + # default do próprio `DadosEmissao` quando ausentes) -- mesmo + # racional aqui: `EmissaoRequest` tem os MESMOS defaults + # ("Venda"/"1"/"1"/"1"/"1"), então só repassamos quando o golden + # declara um valor NÃO-default. Faltar isto (bug real corrigido + # aqui) fazia `caso_devolucao_intra` -- o único dos 6 casos com + # `nat_op` != "Venda" -- emitir com `Venda` em vez + # de `Devolucao de venda`, divergindo do golden + # assinado byte a byte. + "nat_op": raw.get("nat_op", "Venda"), + "tp_emis": raw.get("tp_emis", "1"), + "ind_final": raw.get("ind_final", "1"), + "ind_pres": raw.get("ind_pres", "1"), + "fin_nfe": raw.get("fin_nfe", "1"), } emit_response = await client.post( "/v1/emissoes", json=payload,