From 3350f3c19602dd3f1f04d69a915127755e981fff Mon Sep 17 00:00:00 2001
From: Alice Heaton <aliceh@aptivate.org>
Date: Mon, 27 Jul 2015 14:28:06 +0100
Subject: [PATCH] Add tests for ItemTable.get_row_select_values

---
 django/website/hid/tests/itemtable_tests.py | 45 +++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/django/website/hid/tests/itemtable_tests.py b/django/website/hid/tests/itemtable_tests.py
index 7ffc61fb..43eaaf92 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
-- 
GitLab