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