wcs: add get_full filter (#49854)
gitea-wip/combo/pipeline/head Build started... Details
gitea/combo/pipeline/head Build started... Details

This commit is contained in:
Lauréline Guérin 2021-01-05 10:56:15 +01:00
parent 53651ec33e
commit 4f20319d4c
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
3 changed files with 26 additions and 5 deletions

View File

@ -51,6 +51,16 @@ class LazyCardDefObjectsManager(object):
filters=self._filters,
user=self._user)
def with_custom_view(self, custom_view_id):
qs = self._clone()
qs._custom_view_id = custom_view_id
return qs
def get_full(self):
qs = self._clone()
qs._filters['full'] = 'on'
return qs
def access_control(self, user):
qs = self._clone()
qs._user = user
@ -60,11 +70,6 @@ class LazyCardDefObjectsManager(object):
def count(self):
return len(self)
def with_custom_view(self, custom_view_id):
qs = self._clone()
qs._custom_view_id = custom_view_id
return qs
def filter_by(self, attribute):
qs = self._clone()
qs.pending_attr = attribute

View File

@ -30,6 +30,11 @@ def with_custom_view(queryset, custom_view_id):
return queryset.with_custom_view(custom_view_id)
@register.filter
def get_full(queryset):
return queryset.get_full()
@register.filter
def access_control(queryset, user):
return queryset.access_control(user)

View File

@ -123,6 +123,17 @@ def test_with_custom_view(mock_send, context, nocache):
assert mock_send.call_args_list == [] # unknown, not evaluated
@mock.patch('combo.apps.wcs.models.requests.send', side_effect=mocked_requests_send)
def test_full(mock_send, context, nocache):
t = Template('{% load wcs %}{{ cards|objects:"foo"|list }}')
t.render(context)
assert 'full=on&' not in mock_send.call_args_list[0][0][0].url
mock_send.reset_mock()
t = Template('{% load wcs %}{{ cards|objects:"foo"|get_full|list }}')
t.render(context)
assert 'full=on&' in mock_send.call_args_list[0][0][0].url
@mock.patch('combo.apps.wcs.utils.requests.send', side_effect=mocked_requests_send)
def test_errors(mock_send, context, nocache):
t = Template('{% load wcs %}{{ cards|objects:"foo"|list }}')