X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/b095b59d5e0ee805e49980af80b21bd1acff1345..2df3605142e73ef38c1ad307cbbd5437770b8d96:/test/controllers/user_preference_controller_test.rb diff --git a/test/controllers/user_preference_controller_test.rb b/test/controllers/user_preference_controller_test.rb index f8cafe6a9..96ba4375c 100644 --- a/test/controllers/user_preference_controller_test.rb +++ b/test/controllers/user_preference_controller_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' +require "test_helper" class UserPreferenceControllerTest < ActionController::TestCase - fixtures :users, :user_preferences + fixtures :users ## # test all routes which lead to this controller @@ -36,7 +36,7 @@ class UserPreferenceControllerTest < ActionController::TestCase assert_response :unauthorized, "should be authenticated" # authenticate as a user with no preferences - basic_authorization("test@example.com", "test") + basic_authorization("moderator@example.com", "test") # try the read again get :read @@ -45,8 +45,10 @@ class UserPreferenceControllerTest < ActionController::TestCase assert_select "preference", :count => 0 end end - + # authenticate as a user with preferences + user_preference = create(:user_preference, :user => users(:normal_user)) + user_preference2 = create(:user_preference, :user => users(:normal_user)) basic_authorization("test@openstreetmap.org", "test") # try the read again @@ -56,8 +58,8 @@ class UserPreferenceControllerTest < ActionController::TestCase assert_select "osm" do assert_select "preferences", :count => 1 do assert_select "preference", :count => 2 - assert_select "preference[k=\"#{user_preferences(:a).k}\"][v=\"#{user_preferences(:a).v}\"]", :count => 1 - assert_select "preference[k=\"#{user_preferences(:two).k}\"][v=\"#{user_preferences(:two).v}\"]", :count => 1 + assert_select "preference[k=\"#{user_preference.k}\"][v=\"#{user_preference.v}\"]", :count => 1 + assert_select "preference[k=\"#{user_preference2.k}\"][v=\"#{user_preference2.v}\"]", :count => 1 end end end @@ -65,6 +67,8 @@ class UserPreferenceControllerTest < ActionController::TestCase ## # test read_one action def test_read_one + create(:user_preference, :user => users(:normal_user), :k => "key", :v => "value") + # try a read without auth get :read_one, :preference_key => "key" assert_response :unauthorized, "should be authenticated" @@ -86,16 +90,19 @@ class UserPreferenceControllerTest < ActionController::TestCase ## # test update action def test_update + create(:user_preference, :user => users(:normal_user), :k => "key", :v => "value") + create(:user_preference, :user => users(:normal_user), :k => "some_key", :v => "some_value") + # try a put without auth assert_no_difference "UserPreference.count" do content "" put :update end assert_response :unauthorized, "should be authenticated" - assert_equal "value", UserPreference.find(1, "key").v - assert_equal "some_value", UserPreference.find(1, "some_key").v + assert_equal "value", UserPreference.find([users(:normal_user).id, "key"]).v + assert_equal "some_value", UserPreference.find([users(:normal_user).id, "some_key"]).v assert_raises ActiveRecord::RecordNotFound do - UserPreference.find(1, "new_key") + UserPreference.find([users(:normal_user).id, "new_key"]) end # authenticate as a user with preferences @@ -109,10 +116,10 @@ class UserPreferenceControllerTest < ActionController::TestCase assert_response :success assert_equal "text/plain", @response.content_type assert_equal "", @response.body - assert_equal "new_value", UserPreference.find(1, "key").v - assert_equal "value", UserPreference.find(1, "new_key").v + assert_equal "new_value", UserPreference.find([users(:normal_user).id, "key"]).v + assert_equal "value", UserPreference.find([users(:normal_user).id, "new_key"]).v assert_raises ActiveRecord::RecordNotFound do - UserPreference.find(1, "some_key") + UserPreference.find([users(:normal_user).id, "some_key"]) end # try a put with duplicate keys @@ -123,7 +130,7 @@ class UserPreferenceControllerTest < ActionController::TestCase assert_response :bad_request assert_equal "text/plain", @response.content_type assert_equal "Duplicate preferences with key key", @response.body - assert_equal "new_value", UserPreference.find(1, "key").v + assert_equal "new_value", UserPreference.find([users(:normal_user).id, "key"]).v # try a put with invalid content assert_no_difference "UserPreference.count" do @@ -143,7 +150,7 @@ class UserPreferenceControllerTest < ActionController::TestCase end assert_response :unauthorized, "should be authenticated" assert_raises ActiveRecord::RecordNotFound do - UserPreference.find(1, "new_key") + UserPreference.find([users(:normal_user).id, "new_key"]) end # authenticate as a user with preferences @@ -157,7 +164,7 @@ class UserPreferenceControllerTest < ActionController::TestCase assert_response :success assert_equal "text/plain", @response.content_type assert_equal "", @response.body - assert_equal "new_value", UserPreference.find(1, "new_key").v + assert_equal "new_value", UserPreference.find([users(:normal_user).id, "new_key"]).v # try changing the value of a preference assert_no_difference "UserPreference.count" do @@ -167,18 +174,20 @@ class UserPreferenceControllerTest < ActionController::TestCase assert_response :success assert_equal "text/plain", @response.content_type assert_equal "", @response.body - assert_equal "newer_value", UserPreference.find(1, "new_key").v + assert_equal "newer_value", UserPreference.find([users(:normal_user).id, "new_key"]).v end ## # test delete_one action def test_delete_one + create(:user_preference, :user => users(:normal_user), :k => "key", :v => "value") + # try a delete without auth assert_no_difference "UserPreference.count" do delete :delete_one, :preference_key => "key" end assert_response :unauthorized, "should be authenticated" - assert_equal "value", UserPreference.find(1, "key").v + assert_equal "value", UserPreference.find([users(:normal_user).id, "key"]).v # authenticate as a user with preferences basic_authorization("test@openstreetmap.org", "test") @@ -191,7 +200,7 @@ class UserPreferenceControllerTest < ActionController::TestCase assert_equal "text/plain", @response.content_type assert_equal "", @response.body assert_raises ActiveRecord::RecordNotFound do - UserPreference.find(1, "key") + UserPreference.find([users(:normal_user).id, "key"]) end # try the delete again for the same key @@ -200,7 +209,7 @@ class UserPreferenceControllerTest < ActionController::TestCase end assert_response :not_found assert_raises ActiveRecord::RecordNotFound do - UserPreference.find(1, "key") + UserPreference.find([users(:normal_user).id, "key"]) end end end