diff --git a/django/website/hid/tests/itemtable_tests.py b/django/website/hid/tests/itemtable_tests.py index 7ffc61fb4c3f61b84cda4f5a4ace17878d715ade..43eaaf9235fc8ac987ecd6e668cb4538080e8c1e 100644 --- a/django/website/hid/tests/itemtable_tests.py +++ b/django/website/hid/tests/itemtable_tests.py @@ -16,3 +16,48 @@ def test_get_selected_returns_submitted_values_as_ints(): params.getlist.return_value = ["201", "199", "3"] assert ItemTable.get_selected(params) == [201, 199, 3] + + +def test_get_row_select_values_returns_id_value_pairs(): + post_params = { + 'category-123': "second", + 'category-99': "third", + 'category-56': "first", + 'category-1': "second", + } + expected = [ + (123, "second"), + (99, "third"), + (56, "first"), + (1, "second") + ] + actual = ItemTable.get_row_select_values(post_params, 'category') + assert sorted(expected) == sorted(actual) # Order is not important + + +def test_get_row_select_values_reads_params_from_prefix(): + post_params = { + 'prefix-123': "second", + 'prefix-99': "third", + 'other-1': "second", + } + expected = [ + (123, "second"), + (99, "third"), + ] + actual = ItemTable.get_row_select_values(post_params, 'prefix') + assert sorted(expected) == sorted(actual) # Order is not important + + +def test_get_row_select_values_removes_empty(): + post_params = { + 'category-123': "second", + 'category-99': "third", + 'category-56': "", + } + expected = [ + (123, "second"), + (99, "third"), + ] + actual = ItemTable.get_row_select_values(post_params, 'category') + assert sorted(expected) == sorted(actual) # Order is not important