From 4748e051725553cdde260d3a02686ff878c9b0f0 Mon Sep 17 00:00:00 2001 From: davidtrussler Date: Wed, 18 Sep 2024 11:36:17 +0100 Subject: [PATCH] Add value and test for id Add Component wrapper helper --- .../components/_secondary_navigation.html.erb | 9 ++++++++- .../components/docs/secondary_navigation.yml | 2 ++ spec/components/secondary_navigation_spec.rb | 10 ++-------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/views/govuk_publishing_components/components/_secondary_navigation.html.erb b/app/views/govuk_publishing_components/components/_secondary_navigation.html.erb index d7ab00d3b8..9f84721406 100644 --- a/app/views/govuk_publishing_components/components/_secondary_navigation.html.erb +++ b/app/views/govuk_publishing_components/components/_secondary_navigation.html.erb @@ -3,9 +3,16 @@ id ||= nil items ||= [] + + component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns) + component_helper.add_aria_attribute({label: aria_label}) + component_helper.add_class('gem-c-secondary-navigation') + component_helper.set_id(id) + component_helper.add_role("navigation") %> + <% if items.any? %> - <%= tag.nav class: "gem-c-secondary-navigation", id: id, role: "navigation", aria: { label: aria_label } do %> + <%= tag.nav(**component_helper.all_attributes) do %> <%= tag.ul class: "gem-c-secondary-navigation__list" do %> <% items.each do |item| %> <% diff --git a/app/views/govuk_publishing_components/components/docs/secondary_navigation.yml b/app/views/govuk_publishing_components/components/docs/secondary_navigation.yml index 20e50865cb..00637583bd 100644 --- a/app/views/govuk_publishing_components/components/docs/secondary_navigation.yml +++ b/app/views/govuk_publishing_components/components/docs/secondary_navigation.yml @@ -6,9 +6,11 @@ accessibility_criteria: | * indicate if a navigation item links to the currently-displayed page shared_accessibility_criteria: - link +uses_component_wrapper_helper: true examples: default: data: + id: "nav_1234" aria_label: Document navigation items: - label: Tab 1 diff --git a/spec/components/secondary_navigation_spec.rb b/spec/components/secondary_navigation_spec.rb index e34ef0aad7..468d0ca886 100644 --- a/spec/components/secondary_navigation_spec.rb +++ b/spec/components/secondary_navigation_spec.rb @@ -5,17 +5,10 @@ def component_name "secondary_navigation" end - it "renders the component" do - render_component({ - aria_label: "Document navigation", - }) - - assert_select ".gem-c-secondary-navigation", count: 1 - end - it "renders the component with current page" do render_component({ aria_label: "Document navigation", + id: "nav_1234", items: [ { label: "Nav item 1", @@ -38,5 +31,6 @@ def component_name assert_select ".gem-c-secondary-navigation__list-item--current", count: 1 assert_select ".gem-c-secondary-navigation__list-item--current", text: "Nav item 1" assert_select ".gem-c-secondary-navigation__list-item--current a[aria-current='page']" + assert_select ".gem-c-secondary-navigation[id='nav_1234']" end end