Skip to content

Commit 13a6aa5

Browse files
committed
change test
1 parent 33b6cf8 commit 13a6aa5

2 files changed

Lines changed: 26 additions & 12 deletions

File tree

app/components/primer/open_project/page_header.rb

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,8 @@ class PageHeader < Primer::Component
181181
Primer::Beta::IconButton.new(icon: icon, **system_arguments)
182182
}
183183

184-
# Optional breadcrumbs above the title row
185-
# By default shown on wider screens. Can be overridden with system_argument: display
186-
#
184+
# Using PageHeader without breadcrumbs is only recommended in special cases.
185+
# In doubt, please check the PageHeader component documentation.
187186
# @param items [Array<String, Hash>] Items is an array of strings, hash {href, text} or an anchor tag string
188187
# @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
189188
renders_one :breadcrumbs, lambda { |items = nil, selected_item_font_weight: :bold, **system_arguments|
@@ -300,13 +299,6 @@ def show_breadcrumbs?
300299
breadcrumbs && !breadcrumbs.to_s.strip.empty? || @parent_link.present?
301300
end
302301

303-
def render_mobile_action_menu
304-
render(@mobile_action_menu) do |menu|
305-
menu.with_show_button(icon: :"kebab-horizontal", size: :small, "aria-label": @mobile_menu_label)
306-
@desktop_menu_block&.call(menu)
307-
end
308-
end
309-
310302
def show_context_bar?
311303
show_breadcrumbs? || actions.any?
312304
end
@@ -323,6 +315,13 @@ def render_mobile_segmented_control
323315
render(@mobile_segmented_control, &@mobile_segmented_control_block)
324316
end
325317

318+
def render_mobile_action_menu
319+
render(@mobile_action_menu) do |menu|
320+
menu.with_show_button(icon: :"kebab-horizontal", size: :small, "aria-label": @mobile_menu_label)
321+
@desktop_menu_block&.call(menu)
322+
end
323+
end
324+
326325
def set_action_arguments(system_arguments, scheme: nil)
327326
system_arguments[:ml] ||= 2
328327
system_arguments[:display] = %i[none flex]

test/components/primer/open_project/page_header_test.rb

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)