From 5657f673fc0c3cd6e1da335a245b8d68e6237c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20Br=C3=A9mond?= Date: Sun, 17 Jan 2021 19:01:04 -0800 Subject: [PATCH] Add Python 2.7 support --- graphene_django/filter/tests/conftest.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/graphene_django/filter/tests/conftest.py b/graphene_django/filter/tests/conftest.py index 4a1fead..0313645 100644 --- a/graphene_django/filter/tests/conftest.py +++ b/graphene_django/filter/tests/conftest.py @@ -24,6 +24,9 @@ else: ) +STORE = {"events": []} + + @pytest.fixture def Event(): class Event(models.Model): @@ -78,27 +81,28 @@ def Query(Event, EventType): Event(name="Ballet", tags=["concert", "dance"],), ] + STORE["events"] = events + m_queryset = MagicMock(spec=QuerySet) m_queryset.model = Event def filter_events(**kwargs): - nonlocal events if "tags__contains" in kwargs: - events = list( + STORE["events"] = list( filter( lambda e: set(kwargs["tags__contains"]).issubset( set(e.tags) ), - events, + STORE["events"], ) ) if "tags__overlap" in kwargs: - events = list( + STORE["events"] = list( filter( lambda e: not set(kwargs["tags__overlap"]).isdisjoint( set(e.tags) ), - events, + STORE["events"], ) ) @@ -107,18 +111,17 @@ def Query(Event, EventType): return m_queryset def mock_queryset_none(*args, **kwargs): - nonlocal events - events = [] + STORE["events"] = [] return m_queryset def mock_queryset_count(*args, **kwargs): - return len(events) + return len(STORE["events"]) m_queryset.all.return_value = m_queryset m_queryset.filter.side_effect = mock_queryset_filter m_queryset.none.side_effect = mock_queryset_none m_queryset.count.side_effect = mock_queryset_count - m_queryset.__getitem__.side_effect = events.__getitem__ + m_queryset.__getitem__.side_effect = STORE["events"].__getitem__ return m_queryset