From: Tom Hughes Date: Sun, 4 Feb 2018 15:09:40 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/1704' X-Git-Tag: live~4272 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/673b58f96f3acfd0281c62a2a7f080825b6fb28b?hp=dd27ee8afe3160d9d0b0bd31a265e6d93f1ee743 Merge remote-tracking branch 'upstream/pull/1704' --- diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3ebd4d35f..2c8d29eb8 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -77,7 +77,7 @@ Metrics/BlockNesting: # Offense count: 63 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 1796 + Max: 1797 # Offense count: 71 Metrics/CyclomaticComplexity: diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index f294d23d5..0a63d5253 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -353,7 +353,6 @@ class ChangesetController < ApplicationController # Find the changeset and check it is valid changeset = Changeset.find(id) - raise OSM::APIChangesetNotYetClosedError, changeset if changeset.is_open? raise OSM::APIChangesetAlreadySubscribedError, changeset if changeset.subscribers.exists?(current_user.id) # Add the subscriber @@ -374,7 +373,6 @@ class ChangesetController < ApplicationController # Find the changeset and check it is valid changeset = Changeset.find(id) - raise OSM::APIChangesetNotYetClosedError, changeset if changeset.is_open? raise OSM::APIChangesetNotSubscribedError, changeset unless changeset.subscribers.exists?(current_user.id) # Remove the subscriber diff --git a/test/controllers/changeset_controller_test.rb b/test/controllers/changeset_controller_test.rb index 5205714df..cb584759a 100644 --- a/test/controllers/changeset_controller_test.rb +++ b/test/controllers/changeset_controller_test.rb @@ -2246,6 +2246,13 @@ CHANGESET post :subscribe, :params => { :id => changeset.id } end assert_response :success + + # not closed changeset + changeset = create(:changeset) + assert_difference "changeset.subscribers.count", 1 do + post :subscribe, :params => { :id => changeset.id } + end + assert_response :success end ## @@ -2268,13 +2275,6 @@ CHANGESET end assert_response :not_found - # not closed changeset - changeset = create(:changeset) - assert_no_difference "changeset.subscribers.count" do - post :subscribe, :params => { :id => changeset.id } - end - assert_response :conflict - # trying to subscribe when already subscribed changeset = create(:changeset, :closed) changeset.subscribers.push(user) @@ -2296,6 +2296,15 @@ CHANGESET post :unsubscribe, :params => { :id => changeset.id } end assert_response :success + + # not closed changeset + changeset = create(:changeset) + changeset.subscribers.push(user) + + assert_difference "changeset.subscribers.count", -1 do + post :unsubscribe, :params => { :id => changeset.id } + end + assert_response :success end ## @@ -2316,13 +2325,6 @@ CHANGESET end assert_response :not_found - # not closed changeset - changeset = create(:changeset) - assert_no_difference "changeset.subscribers.count" do - post :unsubscribe, :params => { :id => changeset.id } - end - assert_response :conflict - # trying to unsubscribe when not subscribed changeset = create(:changeset, :closed) assert_no_difference "changeset.subscribers.count" do