"""Tests for the keyword-based pre-filter."""

from agent_samochodowy.extraction.prefilter import is_part_request


class TestPrefilter:
    def test_buying_intent(self):
        assert is_part_request("Szukam pompy wody do Volvo FH13") is True
        assert is_part_request("Kupię alternator Opel Astra") is True
        assert is_part_request("Potrzebuję klocki MAN TGA") is True
        assert is_part_request("Ktoś ma turbo do Scanii?") is True

    def test_selling_intent(self):
        assert is_part_request("Sprzedam pompę wody Volvo FH13") is False
        assert is_part_request("Na sprzedaż alternator Opel") is False
        assert is_part_request("Oddam za darmo filtr oleju") is False

    def test_no_intent(self):
        assert is_part_request("Ładna pogoda dzisiaj") is False
        assert is_part_request("Jaki olej polecacie do FH13?") is False

    def test_mixed_intent_buy_wins(self):
        # "szukam" + context implies buying even if "cena" appears
        assert is_part_request("Szukam pompy, jaka cena?") is True

    def test_case_insensitive(self):
        assert is_part_request("SZUKAM POMPY") is True
        assert is_part_request("SPRZEDAM FILTR") is False

    def test_english_intent(self):
        assert is_part_request("Looking for water pump Volvo FH") is True
        assert is_part_request("WTB alternator MAN") is True
