Browse Source

Works but helper is hard to test

pull/526/head
baarkerlounger 3 years ago
parent
commit
a5b407facf
  1. 10
      app/helpers/navigation_items_helper.rb
  2. 2
      app/views/layouts/application.html.erb
  3. 4
      spec/requests/users_controller_spec.rb

10
app/helpers/navigation_items_helper.rb

@ -1,17 +1,17 @@
module NavigationItemsHelper
NavigationItem = Struct.new(:text, :href, :current, :classes)
def primary_items(current_user)
def primary_items(current_user, user)
if current_user.support?
[
NavigationItem.new("Organisations", organisations_path, organisation_current?),
NavigationItem.new("Users", users_path, users_current?),
NavigationItem.new("Users", users_path, users_current?(current_user, user)),
NavigationItem.new("Logs", case_logs_path, logs_current?),
]
else
[
NavigationItem.new("Logs", case_logs_path, logs_current?),
NavigationItem.new("Users", users_organisation_path(current_user.organisation), users_current?),
NavigationItem.new("Users", users_organisation_path(current_user.organisation), users_current?(current_user, user)),
NavigationItem.new("About your organisation", "/organisations/#{current_user.organisation.id}", organisation_current?),
]
end
@ -31,7 +31,9 @@ private
current?(controller, %w[case_logs form])
end
def users_current?
def users_current?(current_user, user)
return false if current_user == user
current?(controller, %w[users]) || current_action?(controller, "users")
end

2
app/views/layouts/application.html.erb

@ -66,7 +66,7 @@
<% if !current_user.nil? %>
<%= render PrimaryNavigationComponent.new(
items: primary_items(current_user),
items: primary_items(current_user, @user),
) %>
<% end %>

4
spec/requests/users_controller_spec.rb

@ -357,6 +357,10 @@ RSpec.describe UsersController, type: :request do
expect(page).to have_link("Change", text: "are you a data protection officer?")
expect(page).to have_link("Change", text: "are you a key contact?")
end
it "does not highlight the users navigation tab" do
expect(page).not_to have_css('[aria-current="page"]', text: "Users")
end
end
context "when the current user does not match the user ID" do

Loading…
Cancel
Save