@@ -10,7 +10,18 @@ def test_raises_if_no_title_provided
1010 render_inline ( Primer ::OpenProject ::PageHeader . new )
1111 end
1212
13- assert_equal ( "PageHeader needs a title. Please use the `with_title` slot" , err . message )
13+ assert_equal ( "PageHeader needs a title and a breadcrumb. Please use the `with_title` and `with_breadcrumbs` slot" , err . message )
14+ end
15+
16+ def test_raises_if_no_breadcrumb_provided
17+ err = assert_raises ArgumentError do
18+ render_inline ( Primer ::OpenProject ::PageHeader . new ) do |header |
19+ header . with_title { "Hello" }
20+ end
21+
22+ end
23+
24+ assert_equal ( "PageHeader needs a title and a breadcrumb. Please use the `with_title` and `with_breadcrumbs` slot" , err . message )
1425 end
1526
1627 def test_renders_title
@@ -282,6 +293,7 @@ def test_skips_a_breadcrumb_item_for_mobile
282293 def test_renders_without_breadcrumbs
283294 render_inline ( Primer ::OpenProject ::PageHeader . new ) do |header |
284295 header . with_title { "Hello" }
296+ header . with_breadcrumbs ( )
285297 end
286298
287299 # Title is rendered
@@ -299,6 +311,7 @@ def test_renders_without_breadcrumbs
299311 def test_renders_actions_without_breadcrumbs
300312 render_inline ( Primer ::OpenProject ::PageHeader . new ( show_state : true ) ) do |header |
301313 header . with_title { "Hello" }
314+ header . with_breadcrumbs ( )
302315 header . with_action_button ( mobile_icon : "pencil" , mobile_label : "Edit" ) { "Edit" }
303316 header . with_action_icon_button ( icon : "trash" , mobile_icon : "trash" , label : "Delete" ) { "Delete" }
304317 header . with_action_link ( mobile_icon : "link" , mobile_label : "Go to" , href : "https://openproject.org" ) { "Go to OpenProject" }
@@ -310,7 +323,7 @@ def test_renders_actions_without_breadcrumbs
310323 assert_text ( "Edit" )
311324 assert_text ( "Delete" )
312325 assert_text ( "Go to OpenProject" )
313- assert_no_selector ( ".PageHeader-contextBar" )
326+ assert_selector ( ".PageHeader-contextBar" )
314327 assert_no_selector ( ".PageHeader-breadcrumbs" )
315328 assert_no_selector ( ".PageHeader-parentLink" )
316329
@@ -321,6 +334,7 @@ def test_renders_actions_without_breadcrumbs
321334 def test_renders_with_mobile_segmented_control
322335 render_inline ( Primer ::OpenProject ::PageHeader . new ( show_state : true ) ) do |header |
323336 header . with_title { "Title" }
337+ header . with_breadcrumbs ( )
324338 header . with_action_segmented_control (
325339 "aria-label" : "Segmented control" ,
326340 mobile_system_arguments : { hide_labels : true }
@@ -337,6 +351,7 @@ def test_renders_with_mobile_segmented_control
337351 def test_renders_single_action_with_mobile_action
338352 render_inline ( Primer ::OpenProject ::PageHeader . new ( show_state : true ) ) do |header |
339353 header . with_title { "Single Action Test" }
354+ header . with_breadcrumbs ( )
340355 header . with_action_button ( mobile_icon : "plus" , mobile_label : "Add" ) { "Add" }
341356 end
342357
0 commit comments