import meili def test_parse(): s = 'payment_date >= 2025-07-01 AND status = PAID' r = meili.parse(s) assert r == [ {'attr': 'payment_date', 'op': '>=', 'value': '2025-07-01'}, {'attr': 'status', 'op': '=', 'value': 'PAID'}, ] assert meili.parse('cnpj%20EXISTS') == [ {'attr': 'cnpj', 'op': 'EXISTS', 'value': ''} ] def test_encode(): r = meili.encode( [ {'attr': 'tenant', 'op': '=', 'value': '*'}, {'attr': 'cnpj', 'op': 'EXISTS', 'value': ''}, ] ) assert r == 'tenant = * AND cnpj EXISTS'