31 lines
1.4 KiB
Python
31 lines
1.4 KiB
Python
from decimal import Decimal
|
|
|
|
from app.domain.contas.client import TimApiClient
|
|
from app.domain.contas.workflow_actions import _classify_contestation_items
|
|
|
|
|
|
def test_mock_contestar_filters_provider_response_to_current_transaction(monkeypatch):
|
|
monkeypatch.setenv("TIM_USE_MOCK_GATEWAY", "true")
|
|
client = TimApiClient()
|
|
result = client.contestar({
|
|
"sr": "1234567890",
|
|
"items": [{"itemName": "Tamboro Mensal", "claimedAmount": "14.99", "validatedAmount": "14.99"}],
|
|
})
|
|
assert result["sr"] == "1234567890"
|
|
assert [x["itemName"] for x in result["itemsResponse"]] == ["Tamboro Mensal"]
|
|
assert result["itemsResponse"][0]["message"] == "Contestação criada/atualizada com sucesso"
|
|
assert "items_response" not in result
|
|
assert "validated_items" not in result
|
|
assert "protocol_number" not in result
|
|
|
|
|
|
def test_contestation_amount_does_not_convert_decimal_dot_to_cents():
|
|
requested = [{"item_name": "Tamboro Mensal", "claimed_amount": "14.99", "validated_amount": "14.99"}]
|
|
response = [{"itemName": "Tamboro Mensal", "status": "INICIADA", "correctAccountStatus": "CRIAR"}]
|
|
contested, not_contested, already, open_amount, total_amount = _classify_contestation_items(requested, response)
|
|
assert len(contested) == 1
|
|
assert not not_contested
|
|
assert not already
|
|
assert Decimal(open_amount) == Decimal("14.99")
|
|
assert Decimal(total_amount) == Decimal("14.99")
|