import unittest

import pytest

from pypos.modules.penjualan.services.transaksi_payment_state_service import (
    TransaksiPaymentStateService,
)

# edited by glg
pytestmark = [pytest.mark.unit]


class TransaksiPaymentStateServiceTests(unittest.TestCase):
    def test_has_pending_settlement(self):
        svc = TransaksiPaymentStateService()
        self.assertFalse(svc.has_pending_settlement([]))
        self.assertFalse(svc.has_pending_settlement(None))
        self.assertTrue(svc.has_pending_settlement([{"id": 1}]))

    def test_detect_other_kasir(self):
        svc = TransaksiPaymentStateService()
        rows = [{"kasir": "Andi"}, {"kasir": "Budi"}, {"kasir": "Andi"}]
        self.assertTrue(svc.detect_other_kasir(rows, "Andi"))
        self.assertFalse(svc.detect_other_kasir(rows, ""))
        self.assertFalse(svc.detect_other_kasir([{"kasir": "Andi"}, "bad-row"], "Andi"))


if __name__ == "__main__":
    unittest.main()
