From d09757edaf6093e413e66bcce2b5989924372b84 Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Thu, 13 Mar 2025 17:25:36 +0300 Subject: [PATCH] Test legacy api changeset subscribe/unsubscribe paths --- ...changeset_subscriptions_controller_test.rb | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/test/controllers/api/changeset_subscriptions_controller_test.rb b/test/controllers/api/changeset_subscriptions_controller_test.rb index bbf9d8dc8..e0d4ca669 100644 --- a/test/controllers/api/changeset_subscriptions_controller_test.rb +++ b/test/controllers/api/changeset_subscriptions_controller_test.rb @@ -21,6 +21,23 @@ module Api { :path => "/api/0.6/changeset/1/subscription.json", :method => :delete }, { :controller => "api/changeset_subscriptions", :action => "destroy", :changeset_id => "1", :format => "json" } ) + + assert_recognizes( + { :controller => "api/changeset_subscriptions", :action => "create", :changeset_id => "1" }, + { :path => "/api/0.6/changeset/1/subscribe", :method => :post } + ) + assert_recognizes( + { :controller => "api/changeset_subscriptions", :action => "create", :changeset_id => "1", :format => "json" }, + { :path => "/api/0.6/changeset/1/subscribe.json", :method => :post } + ) + assert_recognizes( + { :controller => "api/changeset_subscriptions", :action => "destroy", :changeset_id => "1" }, + { :path => "/api/0.6/changeset/1/unsubscribe", :method => :post } + ) + assert_recognizes( + { :controller => "api/changeset_subscriptions", :action => "destroy", :changeset_id => "1", :format => "json" }, + { :path => "/api/0.6/changeset/1/unsubscribe.json", :method => :post } + ) end def test_create_by_unauthorized @@ -89,6 +106,20 @@ module Api end end + def test_create_legacy + user = create(:user) + auth_header = bearer_authorization_header user + changeset = create(:changeset, :closed) + + assert_difference "ChangesetSubscription.count", 1 do + assert_difference "changeset.subscribers.count", 1 do + post "/api/0.6/changeset/#{changeset.id}/subscribe", :headers => auth_header + + assert_response :success + end + end + end + def test_destroy_by_unauthorized changeset = create(:changeset, :closed) @@ -155,5 +186,20 @@ module Api end end end + + def test_destroy_legacy + user = create(:user) + auth_header = bearer_authorization_header user + changeset = create(:changeset, :closed) + changeset.subscribers.push(user) + + assert_difference "ChangesetSubscription.count", -1 do + assert_difference "changeset.subscribers.count", -1 do + post "/api/0.6/changeset/#{changeset.id}/unsubscribe", :headers => auth_header + + assert_response :success + end + end + end end end -- 2.39.5