]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/api/changeset_subscriptions_controller_test.rb
Replace use of I18n in javascript with OSM.i18n
[rails.git] / test / controllers / api / changeset_subscriptions_controller_test.rb
index bbf9d8dc8ae0533356dbf3bd9f0cef302d8d2e9e..bf3588f23e5799ff0893526fbc802388d5577b10 100644 (file)
@@ -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" }
       )
         { :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
     end
 
     def test_create_by_unauthorized
@@ -59,6 +76,7 @@ module Api
           assert_response :conflict
         end
       end
           assert_response :conflict
         end
       end
+      assert_includes changeset.subscribers, user
     end
 
     def test_create_on_open_changeset
     end
 
     def test_create_on_open_changeset
@@ -73,6 +91,7 @@ module Api
           assert_response :success
         end
       end
           assert_response :success
         end
       end
+      assert_includes changeset.subscribers, user
     end
 
     def test_create_on_closed_changeset
     end
 
     def test_create_on_closed_changeset
@@ -87,6 +106,22 @@ module Api
           assert_response :success
         end
       end
           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
     end
 
     def test_destroy_by_unauthorized
@@ -124,6 +159,7 @@ module Api
           assert_response :not_found
         end
       end
           assert_response :not_found
         end
       end
+      assert_not_includes changeset.subscribers, user
     end
 
     def test_destroy_on_open_changeset
     end
 
     def test_destroy_on_open_changeset
@@ -139,6 +175,7 @@ module Api
           assert_response :success
         end
       end
           assert_response :success
         end
       end
+      assert_not_includes changeset.subscribers, user
     end
 
     def test_destroy_on_closed_changeset
     end
 
     def test_destroy_on_closed_changeset
@@ -154,6 +191,23 @@ module Api
           assert_response :success
         end
       end
           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
     end
   end
 end