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