ajuste no contas
This commit is contained in:
@@ -600,3 +600,70 @@ async def test_cancelamento_redireciona_item_estrategico_para_workflow_correto(m
|
||||
})
|
||||
assert result["metadata"]["domain_redirect_from"] == "cancelar_vas_avulso"
|
||||
assert result["metadata"]["domain_redirect_to"] == "tratar_vas_estrategico"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_cancelamento_usa_valor_vas_validado_quando_usuario_nao_informa_valor(monkeypatch):
|
||||
import contas_mcp.servers.contas_mcp_server.main as main
|
||||
|
||||
class Runtime(FakeRuntime):
|
||||
async def arun(self, name, payload, execution_id=None):
|
||||
self.calls.append((name, payload, execution_id))
|
||||
if name == "cancelamento_vas_avulso":
|
||||
return {
|
||||
"execution_id": "cancel-valor", "workflow_name": name, "workflow_version": 1, "status": "COMPLETED",
|
||||
"output": {"cancelar_vas_avulso": {
|
||||
"success": True,
|
||||
"results": [{"success": True, "msisdn": "5511999999999", "subject": "Tamboro Mensal",
|
||||
"service": {"name": "Tamboro Mensal", "details": {"valor": "14,99"}}}],
|
||||
"contestation_candidates": [{"success": True, "msisdn": "5511999999999", "subject": "Tamboro Mensal",
|
||||
"service": {"name": "Tamboro Mensal", "details": {"valor": "14,99"}}}],
|
||||
}}, "state": {}, "trace": [],
|
||||
}
|
||||
return {
|
||||
"execution_id": "cont-valor", "workflow_name": name, "workflow_version": 2, "status": "COMPLETED",
|
||||
"output": {"registrar_protocolo": {"protocolo_id": "PRT-V"}, "abrir_contestacao_cliente": {"success": True, "items_response": []}},
|
||||
"state": {}, "trace": [],
|
||||
}
|
||||
|
||||
runtime = Runtime()
|
||||
monkeypatch.setattr(main, "get_workflow_runtime", lambda: runtime)
|
||||
monkeypatch.setattr(main, "service", FakeService())
|
||||
await main._run_cancelamento_com_contestacao({"msisdn": "5511999999999", "subject": "Tamboro Mensal"})
|
||||
item = runtime.calls[1][1]["items"][0]
|
||||
assert item["claimedAmount"] == "14,99"
|
||||
assert item["validatedAmount"] == "14,99"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_cancelamento_preserva_valor_informado_e_valor_vas_como_evidencias_distintas(monkeypatch):
|
||||
import contas_mcp.servers.contas_mcp_server.main as main
|
||||
|
||||
class Runtime(FakeRuntime):
|
||||
async def arun(self, name, payload, execution_id=None):
|
||||
self.calls.append((name, payload, execution_id))
|
||||
if name == "cancelamento_vas_avulso":
|
||||
return {
|
||||
"execution_id": "cancel-div", "workflow_name": name, "workflow_version": 1, "status": "COMPLETED",
|
||||
"output": {"cancelar_vas_avulso": {
|
||||
"success": True,
|
||||
"results": [{"success": True, "msisdn": "5511999999999", "subject": "Tamboro Mensal",
|
||||
"service": {"name": "Tamboro Mensal", "details": {"valor": "14,99"}}}],
|
||||
"contestation_candidates": [{"success": True, "msisdn": "5511999999999", "subject": "Tamboro Mensal",
|
||||
"service": {"name": "Tamboro Mensal", "details": {"valor": "14,99"}}}],
|
||||
}}, "state": {}, "trace": [],
|
||||
}
|
||||
return {
|
||||
"execution_id": "cont-div", "workflow_name": name, "workflow_version": 2, "status": "COMPLETED",
|
||||
"output": {"registrar_protocolo": {"protocolo_id": "PRT-D"}, "abrir_contestacao_cliente": {"success": True, "items_response": []}},
|
||||
"state": {}, "trace": [],
|
||||
}
|
||||
|
||||
runtime = Runtime()
|
||||
monkeypatch.setattr(main, "get_workflow_runtime", lambda: runtime)
|
||||
monkeypatch.setattr(main, "service", FakeService())
|
||||
await main._run_cancelamento_com_contestacao({
|
||||
"msisdn": "5511999999999", "subject": "Tamboro Mensal", "valor": "29,98",
|
||||
})
|
||||
item = runtime.calls[1][1]["items"][0]
|
||||
assert item["claimedAmount"] == "29,98"
|
||||
assert item["validatedAmount"] == "14,99"
|
||||
|
||||
Reference in New Issue
Block a user