# edited by glg
from pypos.modules.penjualan.services.settlement_input_service import SettlementInputService


def test_parse_admin_input_handles_empty_invalid_and_valid():
    svc = SettlementInputService()
    assert svc.parse_admin_input("") == ("empty", 0)
    assert svc.parse_admin_input("abc") == ("invalid", 0)
    assert svc.parse_admin_input(" 12 ") == ("valid", 12)


def test_resolve_total_tunai_prefers_nilai_tunai_param():
    svc = SettlementInputService()
    assert svc.resolve_total_tunai(15000, "") == 15000.0
    assert svc.resolve_total_tunai(15000, "99999") == 15000.0


def test_resolve_total_tunai_from_text_when_nilai_none():
    svc = SettlementInputService()
    assert svc.resolve_total_tunai(None, "10000") == 10000.0
    assert svc.resolve_total_tunai(None, "abc") == 0.0
    assert svc.resolve_total_tunai(None, "") == 0.0


def test_can_enable_settle_requires_transaction_and_amount():
    svc = SettlementInputService()
    assert svc.can_enable_settle(False, 1000, 0) is False
    assert svc.can_enable_settle(True, 0, 0) is False
    assert svc.can_enable_settle(True, 1000, 0) is True
    assert svc.can_enable_settle(True, 0, 500) is True
