18 lines
649 B
Python
18 lines
649 B
Python
import pytest
|
|
|
|
from central.app.datasets.ncm import parse_ncm_payload
|
|
|
|
|
|
def test_parser_accepts_verified_siscomex_payload_shape():
|
|
payload = b'{"Data_Ultima_Atualizacao_NCM":"Vigente em 17/09/2026","Ato":"Resolucao Gecex 926/2026","Nomenclaturas":[{"Codigo":"08043000","Descricao":"Abacaxis.","Data_Inicio":"01/04/2022","Data_Fim":"31/12/9999"}]}'
|
|
|
|
parsed = parse_ncm_payload(payload)
|
|
|
|
assert parsed.version == "Vigente em 17/09/2026"
|
|
assert parsed.entries[0].code == "08043000"
|
|
|
|
|
|
def test_parser_rejects_unknown_payload_shape():
|
|
with pytest.raises(ValueError, match="Nomenclaturas"):
|
|
parse_ncm_payload(b'{"items": []}')
|