@@ -51,7 +51,7 @@ def test_filter_mode_control_label_can_be_overridden
5151 assert_selector ( "segmented-control [role=list][aria-label='Filtermodus']" )
5252 end
5353
54- def test_segmented_control_can_be_hidden
54+ def test_filter_mode_control_can_be_hidden
5555 render_inline (
5656 Primer ::OpenProject ::FilterableTreeView . new (
5757 filter_mode_control_arguments : { hidden : true }
@@ -93,6 +93,14 @@ def test_include_sub_items_can_have_a_different_default
9393 assert_selector ( "input[name=include_sub_items][checked=checked]" , visible : :visible )
9494 end
9595
96+ def test_include_sub_items_and_filter_mode_are_hidden_for_single_select_variant
97+ render_preview ( :form_input , params : { select_variant : :single } )
98+
99+ assert_selector ( ".FormControl-checkbox-wrap" , visible : :hidden )
100+ assert_selector ( "input[name=include_sub_items]:not([checked=false])" , visible : :hidden )
101+ assert_selector ( "segmented-control" , visible : :hidden )
102+ end
103+
96104 def test_has_filter_input
97105 render_preview ( :default )
98106
@@ -119,6 +127,46 @@ def test_filter_input_arguments_can_be_overridden
119127 assert_selector ( "label[for='#{ id } '].sr-only" , text : "Filtern" )
120128 end
121129
130+ def test_leaf_cannot_render_with_select_variant_none
131+ error = assert_raises ( ArgumentError ) do
132+ render_inline ( Primer ::OpenProject ::FilterableTreeView . new ) do |tree |
133+ tree . with_leaf ( label : "Foo" , select_variant : :none )
134+ end
135+ end
136+
137+ assert_equal error . message , "FilterableTreeView only supports `:multiple` or `:single` as select_variant"
138+
139+ error = assert_raises ( ArgumentError ) do
140+ render_inline ( Primer ::OpenProject ::FilterableTreeView . new ) do |tree |
141+ tree . with_subtree ( label : "Foo" ) do |sub_tree |
142+ sub_tree . with_leaf ( label : "Bar" , select_variant : :none )
143+ end
144+ end
145+ end
146+
147+ assert_equal error . message , "FilterableTreeView only supports `:multiple` or `:single` as select_variant"
148+ end
149+
150+ def test_sub_trees_cannot_render_with_select_variant_none
151+ error = assert_raises ( ArgumentError ) do
152+ render_inline ( Primer ::OpenProject ::FilterableTreeView . new ) do |tree |
153+ tree . with_sub_tree ( label : "Foo" , select_variant : :none )
154+ end
155+ end
156+
157+ assert_equal error . message , "FilterableTreeView only supports `:multiple` or `:single` as select_variant"
158+
159+ error = assert_raises ( ArgumentError ) do
160+ render_inline ( Primer ::OpenProject ::FilterableTreeView . new ) do |tree |
161+ tree . with_subtree ( label : "Foo" ) do |sub_tree |
162+ sub_tree . with_sub_tree ( label : "Bar" , select_variant : :none )
163+ end
164+ end
165+ end
166+
167+ assert_equal error . message , "FilterableTreeView only supports `:multiple` or `:single` as select_variant"
168+ end
169+
122170 def test_sub_trees_cannot_load_with_async_spinner
123171 error = assert_raises ( ArgumentError ) do
124172 render_inline ( Primer ::OpenProject ::FilterableTreeView . new ) do |tree |
@@ -128,7 +176,7 @@ def test_sub_trees_cannot_load_with_async_spinner
128176 end
129177 end
130178
131- assert_equal error . message , "FilteredTreeView does not support asynchronous loading"
179+ assert_equal error . message , "FilterableTreeView does not support asynchronous loading"
132180 end
133181
134182 def test_sub_trees_cannot_load_with_async_skeleton
@@ -140,7 +188,7 @@ def test_sub_trees_cannot_load_with_async_skeleton
140188 end
141189 end
142190
143- assert_equal error . message , "FilteredTreeView does not support asynchronous loading"
191+ assert_equal error . message , "FilterableTreeView does not support asynchronous loading"
144192 end
145193
146194 def test_custom_filter_modes
0 commit comments