Ajustes no agente de contas
This commit is contained in:
@@ -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']
|
||||
|
||||
Reference in New Issue
Block a user