X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e763c82456f76170b0b743d39d3da3d910d38352..e2e61692ea04fc156221082aeddc21ea18facdec:/test/controllers/api/changeset_subscriptions_controller_test.rb diff --git a/test/controllers/api/changeset_subscriptions_controller_test.rb b/test/controllers/api/changeset_subscriptions_controller_test.rb index bbf9d8dc8..bf3588f23 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 @@ -59,6 +76,7 @@ module Api assert_response :conflict end end + assert_includes changeset.subscribers, user end def test_create_on_open_changeset @@ -73,6 +91,7 @@ module Api assert_response :success end end + assert_includes changeset.subscribers, user end def test_create_on_closed_changeset @@ -87,6 +106,22 @@ module Api assert_response :success end end + assert_includes changeset.subscribers, user + 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 + assert_includes changeset.subscribers, user end def test_destroy_by_unauthorized @@ -124,6 +159,7 @@ module Api assert_response :not_found end end + assert_not_includes changeset.subscribers, user end def test_destroy_on_open_changeset @@ -139,6 +175,7 @@ module Api assert_response :success end end + assert_not_includes changeset.subscribers, user end def test_destroy_on_closed_changeset @@ -154,6 +191,23 @@ module Api assert_response :success end end + assert_not_includes changeset.subscribers, user + 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 + assert_not_includes changeset.subscribers, user end end end