Ajustes no agente de contas

This commit is contained in:
2026-08-31 14:13:51 -03:00
parent 00ac7f0c83
commit 87a0b77dae
137 changed files with 715 additions and 8 deletions

View File

@@ -234,3 +234,46 @@ async def test_vas_validator_real_invoice_detail_redirects_youtube_without_resol
assert decision['target_tool'] == 'tratar_vas_estrategico'
assert decision['action_changed'] is True
assert decision['requires_reconfirmation'] is True
def test_multi_item_execution_preflight_does_not_reresolve_joined_subject():
args = {
'msisdn': '11999999999',
'subject': 'Tamboro Mensal, Paramount+',
'items': [
{'name': 'Tamboro Mensal', 'msisdn': '11999999999'},
{'name': 'Paramount+', 'msisdn': '11999999999'},
],
}
assert main._preflight_subject('cancelar_vas_avulso', args) is None
@pytest.mark.asyncio
async def test_contestation_wrong_amount_is_recoverable_with_invoice_amount(monkeypatch):
async def no_enrich(name, args):
return None
monkeypatch.setattr(main, '_enrich_invoice_context', no_enrich)
monkeypatch.setattr(main, '_preflight_subject', lambda name, args: None)
monkeypatch.setattr(main, 'validate_contestation_items', lambda items, payload: (
items,
[{
'erro': 'valor_ajuste_maior_que_item',
'valor_item_fatura': '14.99',
'item_fatura_resolvido': 'Tamboro Mensal',
}],
"Valor de ajuste excede o valor cobrado",
))
result = await main._validate_contestation({
'msisdn': '11999999999',
'subject': 'Tamboro Mensal',
'valor': '29.98',
'billing_analysis': {},
'target_tool': 'contestar_cobranca',
})
assert result['eligible'] is False
assert result['status'] == 'NEEDS_PARAMETER'
assert result['parameter'] == 'valor'
assert result['resolved_value'] == '14.99'
assert 'R$ 14,99' in result['parameter_message']
assert 'R$ 29,98' in result['parameter_message']