X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/f2d13c075660efb9582d7fb600bd6798d7a382ca..b676aa76c52519b4bfd477e233933dbefe0014f9:/test/controllers/oauth_clients_controller_test.rb diff --git a/test/controllers/oauth_clients_controller_test.rb b/test/controllers/oauth_clients_controller_test.rb index a1df9f0f2..b610cb0b7 100644 --- a/test/controllers/oauth_clients_controller_test.rb +++ b/test/controllers/oauth_clients_controller_test.rb @@ -1,8 +1,6 @@ -require 'test_helper' - -class OauthClientsControllerTest < ActionController::TestCase - fixtures :users, :client_applications +require "test_helper" +class OauthClientsControllerTest < ActionDispatch::IntegrationTest ## # test all routes which lead to this controller def test_routes @@ -37,26 +35,32 @@ class OauthClientsControllerTest < ActionController::TestCase end def test_index - user = users(:public_user) + user = create(:user) + create_list(:client_application, 2, :user => user) + create_list(:access_token, 2, :user => user) - get :index, { :display_name => user.display_name } + get oauth_clients_path(:display_name => user.display_name) assert_response :redirect assert_redirected_to login_path(:referer => oauth_clients_path(:display_name => user.display_name)) - get :index, { :display_name => user.display_name }, { :user => user } + session_for(user) + + get oauth_clients_path(:display_name => user.display_name) assert_response :success assert_template "index" assert_select "div.client_application", 2 end def test_new - user = users(:public_user) + user = create(:user) - get :new, { :display_name => user.display_name } + get new_oauth_client_path(:display_name => user.display_name) assert_response :redirect assert_redirected_to login_path(:referer => new_oauth_client_path(:display_name => user.display_name)) - get :new, { :display_name => user.display_name }, { :user => user } + session_for(user) + + get new_oauth_client_path(:display_name => user.display_name) assert_response :success assert_template "new" assert_select "form", 1 do @@ -71,71 +75,67 @@ class OauthClientsControllerTest < ActionController::TestCase end def test_create - user = users(:public_user) + user = create(:user) assert_difference "ClientApplication.count", 0 do - post :create, { :display_name => user.display_name } + post oauth_clients_path(:display_name => user.display_name) end assert_response :forbidden + session_for(user) + assert_difference "ClientApplication.count", 0 do - post :create, { - :display_name => user.display_name, - :client_application => { - :name => "Test Application" - } - }, { - :user => user - } + post oauth_clients_path(:display_name => user.display_name, + :client_application => { :name => "Test Application" }) end assert_response :success - assert_template "new" - + assert_template "new" + assert_difference "ClientApplication.count", 1 do - post :create, { - :display_name => user.display_name, - :client_application => { - :name => "Test Application", - :url => "http://test.example.com/" - } - }, { - :user => user - } + post oauth_clients_path(:display_name => user.display_name, + :client_application => { :name => "Test Application", + :url => "http://test.example.com/" }) end assert_response :redirect - assert_redirected_to oauth_client_path(:id => ClientApplication.find_by_name("Test Application").id) + assert_redirected_to oauth_client_path(:id => ClientApplication.find_by(:name => "Test Application").id) end def test_show - user = users(:public_user) - client = client_applications(:oauth_web_app) + user = create(:user) + client = create(:client_application, :user => user) + other_client = create(:client_application) - get :show, { :display_name => user.display_name, :id => client.id } + get oauth_client_path(:display_name => user.display_name, :id => client) assert_response :redirect assert_redirected_to login_path(:referer => oauth_client_path(:display_name => user.display_name, :id => client.id)) - get :show, { :display_name => user.display_name, :id => client_applications(:normal_user_app).id }, { :user => user } + session_for(user) + + get oauth_client_path(:display_name => user.display_name, :id => other_client) assert_response :not_found assert_template "not_found" - get :show, { :display_name => user.display_name, :id => client.id }, { :user => user } + get oauth_client_path(:display_name => user.display_name, :id => client) assert_response :success assert_template "show" end def test_edit - user = users(:public_user) - client = client_applications(:oauth_web_app) + user = create(:user) + client = create(:client_application, :user => user) + other_client = create(:client_application) - get :edit, { :display_name => user.display_name, :id => client.id } + get edit_oauth_client_path(:display_name => user.display_name, :id => client) assert_response :redirect assert_redirected_to login_path(:referer => edit_oauth_client_path(:display_name => user.display_name, :id => client.id)) - get :edit, { :display_name => user.display_name, :id => client_applications(:normal_user_app).id }, { :user => user } + session_for(user) + + get edit_oauth_client_path(:display_name => user.display_name, :id => other_client) assert_response :not_found assert_template "not_found" - get :edit, { :display_name => user.display_name, :id => client.id }, { :user => user } + get edit_oauth_client_path(:display_name => user.display_name, :id => client) assert_response :success assert_template "edit" assert_select "form", 1 do @@ -150,60 +150,50 @@ class OauthClientsControllerTest < ActionController::TestCase end def test_update - user = users(:public_user) - client = client_applications(:oauth_web_app) + user = create(:user) + client = create(:client_application, :user => user) + other_client = create(:client_application) - put :update, { :display_name => user.display_name, :id => client.id } + put oauth_client_path(:display_name => user.display_name, :id => client) assert_response :forbidden - put :update, { :display_name => user.display_name, :id => client_applications(:normal_user_app).id }, { :user => user } + session_for(user) + + put oauth_client_path(:display_name => user.display_name, :id => other_client) assert_response :not_found assert_template "not_found" - put :update, { - :display_name => user.display_name, - :id => client.id, - :client_application => { - :name => "New Name", - :url => nil - } - }, { - :user => user - } + put oauth_client_path(:display_name => user.display_name, :id => client, + :client_application => { :name => "New Name", :url => nil }) assert_response :success assert_template "edit" - put :update, { - :display_name => user.display_name, - :id => client.id, - :client_application => { - :name => "New Name", - :url => "http://new.example.com/url" - } - }, { - :user => user - } + put oauth_client_path(:display_name => user.display_name, :id => client, + :client_application => { :name => "New Name", :url => "http://new.example.com/url" }) assert_response :redirect assert_redirected_to oauth_client_path(:id => client.id) end def test_destroy - user = users(:public_user) - client = client_applications(:oauth_web_app) + user = create(:user) + client = create(:client_application, :user => user) + other_client = create(:client_application) assert_difference "ClientApplication.count", 0 do - delete :destroy, { :display_name => user.display_name, :id => client.id } + delete oauth_client_path(:display_name => user.display_name, :id => client) end assert_response :forbidden + session_for(user) + assert_difference "ClientApplication.count", 0 do - delete :destroy, { :display_name => user.display_name, :id => client_applications(:normal_user_app).id }, { :user => user } + delete oauth_client_path(:display_name => user.display_name, :id => other_client) end assert_response :not_found assert_template "not_found" assert_difference "ClientApplication.count", -1 do - delete :destroy, { :display_name => user.display_name, :id => client.id }, { :user => user } + delete oauth_client_path(:display_name => user.display_name, :id => client) end assert_response :redirect assert_redirected_to oauth_clients_path(:display_name => user.display_name)