Projet

Général

Profil

0001-wcs-add-get_full-filter-49854.patch

Lauréline Guérin, 05 janvier 2021 10:56

Télécharger (2,95 ko)

Voir les différences:

Subject: [PATCH] wcs: add get_full filter (#49854)

 combo/apps/wcs/context_processors.py | 15 ++++++++++-----
 combo/apps/wcs/templatetags/wcs.py   |  5 +++++
 tests/test_wcs_templatetags.py       | 11 +++++++++++
 3 files changed, 26 insertions(+), 5 deletions(-)
combo/apps/wcs/context_processors.py
51 51
                filters=self._filters,
52 52
                user=self._user)
53 53

  
54
    def with_custom_view(self, custom_view_id):
55
        qs = self._clone()
56
        qs._custom_view_id = custom_view_id
57
        return qs
58

  
59
    def get_full(self):
60
        qs = self._clone()
61
        qs._filters['full'] = 'on'
62
        return qs
63

  
54 64
    def access_control(self, user):
55 65
        qs = self._clone()
56 66
        qs._user = user
......
60 70
    def count(self):
61 71
        return len(self)
62 72

  
63
    def with_custom_view(self, custom_view_id):
64
        qs = self._clone()
65
        qs._custom_view_id = custom_view_id
66
        return qs
67

  
68 73
    def filter_by(self, attribute):
69 74
        qs = self._clone()
70 75
        qs.pending_attr = attribute
combo/apps/wcs/templatetags/wcs.py
30 30
    return queryset.with_custom_view(custom_view_id)
31 31

  
32 32

  
33
@register.filter
34
def get_full(queryset):
35
    return queryset.get_full()
36

  
37

  
33 38
@register.filter
34 39
def access_control(queryset, user):
35 40
    return queryset.access_control(user)
tests/test_wcs_templatetags.py
123 123
    assert mock_send.call_args_list == []  # unknown, not evaluated
124 124

  
125 125

  
126
@mock.patch('combo.apps.wcs.models.requests.send', side_effect=mocked_requests_send)
127
def test_full(mock_send, context, nocache):
128
    t = Template('{% load wcs %}{{ cards|objects:"foo"|list }}')
129
    t.render(context)
130
    assert 'full=on&' not in mock_send.call_args_list[0][0][0].url
131
    mock_send.reset_mock()
132
    t = Template('{% load wcs %}{{ cards|objects:"foo"|get_full|list }}')
133
    t.render(context)
134
    assert 'full=on&' in mock_send.call_args_list[0][0][0].url
135

  
136

  
126 137
@mock.patch('combo.apps.wcs.utils.requests.send', side_effect=mocked_requests_send)
127 138
def test_errors(mock_send, context, nocache):
128 139
    t = Template('{% load wcs %}{{ cards|objects:"foo"|list }}')
129
-