]> git.openstreetmap.org Git - rails.git/commitdiff
Merge pull request #4607 from AntonKhorev/fix-traces-tabs
authorAndy Allan <git@gravitystorm.co.uk>
Thu, 21 Mar 2024 14:00:41 +0000 (14:00 +0000)
committerGitHub <noreply@github.com>
Thu, 21 Mar 2024 14:00:41 +0000 (14:00 +0000)
Fix user's traces tab

app/views/traces/index.html.erb
test/controllers/traces_controller_test.rb

index 63ade87d7dd6eb9445789d141d404c60da672dfa..447716a18230412186b63f3a4b53e7377599d2cb 100644 (file)
@@ -33,7 +33,7 @@
         <%= link_to t(".my_traces"), { :action => "mine" }, { :class => "nav-link active" } %>
       </li>
     <% else %>
-      <!-- public_traces_from @target_user -->
+      <!-- traces_from @target_user -->
       <li class="nav-item">
         <%= link_to t(".all_traces"), { :controller => "traces", :action => "index", :display_name => nil }, { :class => "nav-link" } %>
       </li>
@@ -43,7 +43,7 @@
         </li>
       <% end %>
       <li class="nav-item">
-        <%= link_to t(".public_traces_from", :user => @target_user&.display_name), { :action => "mine" }, { :class => "nav-link active" } %>
+        <%= link_to t(".traces_from", :user => @target_user&.display_name), { :controller => "traces", :action => "index", :display_name => @target_user&.display_name }, { :class => "nav-link active" } %>
       </li>
     <% end %>
 
index 9a818786df9ff26f203a2172d0a085f359724264..d187f22641f52f611c847f3ec4b8e86880a2e714 100644 (file)
@@ -172,6 +172,7 @@ class TracesControllerTest < ActionDispatch::IntegrationTest
   # Check the index of traces for a specific user
   def test_index_user
     user = create(:user)
+    checked_user_traces_path = url_for :only_path => true, :controller => "traces", :action => "index", :display_name => user.display_name
     second_user = create(:user)
     third_user = create(:user)
     create(:trace)
@@ -187,18 +188,33 @@ class TracesControllerTest < ActionDispatch::IntegrationTest
     # Test the user with the traces - should see only public ones
     get traces_path(:display_name => user.display_name)
     check_trace_index [trace_b]
+    assert_dom ".nav-tabs" do
+      assert_dom "a[href='#{traces_path}']", :text => "All Traces", :count => 1
+      assert_dom "a[href='#{traces_mine_path}']", :text => "My Traces", :count => 0
+      assert_dom "a[href='#{checked_user_traces_path}']", :text => Regexp.new(Regexp.escape(user.display_name)), :count => 1
+    end
 
     session_for(third_user)
 
     # Should still see only public ones when authenticated as another user
     get traces_path(:display_name => user.display_name)
     check_trace_index [trace_b]
+    assert_dom ".nav-tabs" do
+      assert_dom "a[href='#{traces_path}']", :text => "All Traces", :count => 1
+      assert_dom "a[href='#{traces_mine_path}']", :text => "My Traces", :count => 1
+      assert_dom "a[href='#{checked_user_traces_path}']", :text => Regexp.new(Regexp.escape(user.display_name)), :count => 1
+    end
 
     session_for(user)
 
     # Should see all traces when authenticated as the target user
     get traces_path(:display_name => user.display_name)
     check_trace_index [trace_c, trace_b]
+    assert_dom ".nav-tabs" do
+      assert_dom "a[href='#{traces_path}']", :text => "All Traces", :count => 1
+      assert_dom "a[href='#{traces_mine_path}']", :text => "My Traces", :count => 1
+      assert_dom "a[href='#{checked_user_traces_path}']", :text => Regexp.new(Regexp.escape(user.display_name)), :count => 0
+    end
 
     # Should only see traces with the correct tag when a tag is specified
     get traces_path(:display_name => user.display_name, :tag => "London")