diff --git a/django/website/hid/tests/views_tests.py b/django/website/hid/tests/views_tests.py index 48241602a4e6abd933ab5badc5044bcdd93210b6..145f696722ab15cfd3b2dbafc1a289a802531a1f 100644 --- a/django/website/hid/tests/views_tests.py +++ b/django/website/hid/tests/views_tests.py @@ -2,7 +2,7 @@ import pytest from django.contrib.messages.storage.fallback import FallbackStorage from django.core.urlresolvers import reverse -from django.http import HttpResponseRedirect +from django.http import HttpResponseRedirect, QueryDict from django.test import RequestFactory from ..views import ( @@ -156,3 +156,42 @@ def test_get_category_options_with_no_taxonomy_returns_all(): assert (type_1.name, type_1.long_name) in options assert (other_term.name, other_term.long_name) in options + + +def test_views_item_get_request_parameters_renames_items_of_active_location(): + query = QueryDict( + 'action=something-bottom&item-top=top-value&item-bottom=bottom-value' + ) + expected = { + 'action': 'something', + 'item': 'bottom-value', + 'item-top': 'top-value' + } + actual = ViewItems.get_request_parameters(query) + assert actual.dict() == expected + + +def test_views_item_get_request_parameters_sets_default_location(): + query = QueryDict( + 'action=something&item-top=top-value&item-bottom=bottom-value' + ) + expected = { + 'action': 'something', + 'item': 'top-value', + 'item-bottom': 'bottom-value' + } + actual = ViewItems.get_request_parameters(query) + assert actual.dict() == expected + + +def test_views_item_get_request_parameters_sets_default_action_and_location(): + query = QueryDict( + 'item-top=value&item-bottom=unchanged' + ) + expected = { + 'action': 'none', + 'item': 'value', + 'item-bottom': 'unchanged' + } + actual = ViewItems.get_request_parameters(query) + assert actual.dict() == expected