Skip to content

Commit 37d32c3

Browse files
committed
check for added class in the test
1 parent d519a8b commit 37d32c3

4 files changed

Lines changed: 14 additions & 64 deletions

File tree

app/components/primer/open_project/page_header.html.erb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<% end %>
1717
</div>
1818
<% end %>
19+
1920
<div class="PageHeader-titleBar">
2021
<%= leading_action %>
2122
<%= title %>
@@ -27,6 +28,7 @@
2728
</div>
2829
<% end %>
2930
</div>
31+
3032
<%= description %>
3133
<% if tab_nav %>
3234
<div class="PageHeader-tabNavBar">

app/components/primer/open_project/page_header.rb

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -212,12 +212,9 @@ class PageHeader < Primer::Component
212212
link_arguments[:display] ||= DEFAULT_PARENT_LINK_DISPLAY
213213

214214
@parent_link = render(Primer::Beta::Link.new(scheme: :primary, muted: true, **link_arguments)) do
215-
render(
216-
Primer::Beta::Octicon.new(
217-
icon: "arrow-left",
218-
"aria-label": I18n.t("button_back"),
219-
mr: 2
220-
)
215+
render(Primer::Beta::Octicon.new(icon: "arrow-left",
216+
"aria-label": I18n.t("button_back"),
217+
mr: 2)
221218
) + content_tag(:span, parent_item[:text])
222219
end
223220
end
@@ -274,16 +271,16 @@ def render?
274271
title? && breadcrumbs?
275272
end
276273

274+
def render_mobile_menu?
275+
actions.count > 1
276+
end
277+
277278
def show_state?
278279
@state == STATE_DEFAULT
279280
end
280281

281282
private
282283

283-
def render_mobile_menu?
284-
actions.count > 1
285-
end
286-
287284
def set_action_arguments(system_arguments, scheme: nil)
288285
system_arguments[:ml] ||= 2
289286
system_arguments[:display] = %i[none flex]

previews/primer/open_project/page_header_preview.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,12 @@ def non_bold_breadcrumbs
193193

194194
# @label Without breadcrumbs
195195
# A PageHeader example that renders without breadcrumbs.
196+
# This should only be done for *entry pages* (such as overview pages).
197+
# In case of doubt, please check with the Dream team.
196198
def without_breadcrumbs
197199
render(Primer::OpenProject::PageHeader.new) do |header|
198200
header.with_title { "Hello" }
199-
header.with_breadcrumbs()
201+
header.with_breadcrumbs(nil)
200202
header.with_description { "This PageHeader does not have any breadcrumbs." }
201203
header.with_action_button(mobile_icon: "star", mobile_label: "Star") do |button|
202204
button.with_leading_visual_icon(icon: "star")

test/components/primer/open_project/page_header_test.rb

Lines changed: 2 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ def test_skips_a_breadcrumb_item_for_mobile
293293
def test_renders_without_breadcrumbs
294294
render_inline(Primer::OpenProject::PageHeader.new) do |header|
295295
header.with_title { "Hello" }
296-
header.with_breadcrumbs()
296+
header.with_breadcrumbs(nil)
297297
end
298298

299299
# Title is rendered
@@ -304,61 +304,10 @@ def test_renders_without_breadcrumbs
304304
assert_no_selector(".PageHeader-breadcrumbs")
305305
assert_no_selector(".PageHeader-parentLink")
306306

307-
# Context bar should not be rendered when no breadcrumbs or parent link exist
307+
# A class should be added to the page header when there is no breadcrumbs
308308
assert_selector(".PageHeader--noBreadcrumb")
309309
end
310310

311-
def test_renders_actions_without_breadcrumbs
312-
render_inline(Primer::OpenProject::PageHeader.new(show_state: true)) do |header|
313-
header.with_title { "Hello" }
314-
header.with_breadcrumbs()
315-
header.with_action_button(mobile_icon: "pencil", mobile_label: "Edit") { "Edit" }
316-
header.with_action_icon_button(icon: "trash", mobile_icon: "trash", label: "Delete") { "Delete" }
317-
header.with_action_link(mobile_icon: "link", mobile_label: "Go to", href: "https://openproject.org") { "Go to OpenProject" }
318-
end
319-
320-
assert_text("Hello")
321-
assert_selector(".PageHeader-title")
322-
assert_selector(".PageHeader-actions")
323-
assert_text("Edit")
324-
assert_text("Delete")
325-
assert_text("Go to OpenProject")
326-
assert_selector(".PageHeader-contextBar")
327-
assert_no_selector(".PageHeader-breadcrumbs")
328-
assert_no_selector(".PageHeader-parentLink")
329-
330-
# At least one mobile action button or menu should exist
331-
assert_selector(".PageHeader-actions .Button, .PageHeader-actions action-menu", minimum: 1)
332-
end
333-
334-
def test_renders_with_mobile_segmented_control
335-
render_inline(Primer::OpenProject::PageHeader.new(show_state: true)) do |header|
336-
header.with_title { "Title" }
337-
header.with_breadcrumbs()
338-
header.with_action_segmented_control(
339-
"aria-label": "Segmented control",
340-
mobile_system_arguments: { hide_labels: true }
341-
) do |control|
342-
control.with_item(label: "Preview", icon: :eye, selected: true)
343-
control.with_item(label: "Raw", icon: :"file-code")
344-
end
345-
end
346-
347-
assert_selector(".PageHeader-action")
348-
assert_selector(".PageHeader-action.SegmentedControl")
349-
end
350-
351-
def test_renders_single_action_with_mobile_action
352-
render_inline(Primer::OpenProject::PageHeader.new(show_state: true)) do |header|
353-
header.with_title { "Single Action Test" }
354-
header.with_breadcrumbs()
355-
header.with_action_button(mobile_icon: "plus", mobile_label: "Add") { "Add" }
356-
end
357-
358-
assert_text("Add")
359-
end
360-
361-
362311
private
363312

364313
def breadcrumb_elements

0 commit comments

Comments
 (0)