X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6c6e8883f703efe8e05d893a94c169ac90733d42..c9a36291601a60dee792ce8681bce65562e15cec:/test/controllers/oauth2_applications_controller_test.rb diff --git a/test/controllers/oauth2_applications_controller_test.rb b/test/controllers/oauth2_applications_controller_test.rb index 338144a95..1333fa000 100644 --- a/test/controllers/oauth2_applications_controller_test.rb +++ b/test/controllers/oauth2_applications_controller_test.rb @@ -43,7 +43,6 @@ class Oauth2ApplicationsControllerTest < ActionDispatch::IntegrationTest create_list(:oauth_application, 2, :owner => user) get oauth_applications_path - assert_response :redirect assert_redirected_to login_path(:referer => oauth_applications_path) session_for(user) @@ -51,14 +50,23 @@ class Oauth2ApplicationsControllerTest < ActionDispatch::IntegrationTest get oauth_applications_path assert_response :success assert_template "oauth2_applications/index" - assert_select "tr", 2 + assert_select "tbody tr", 2 + end + + def test_index_with_moderator_app + user = create(:user) + create(:oauth_application, :owner => user, :scopes => "write_redactions") + + session_for(user) + + get oauth_applications_path + assert_response :success end def test_new user = create(:user) get new_oauth_application_path - assert_response :redirect assert_redirected_to login_path(:referer => new_oauth_application_path) session_for(user) @@ -111,7 +119,31 @@ class Oauth2ApplicationsControllerTest < ActionDispatch::IntegrationTest :scopes => ["read_prefs"] }) end - assert_response :redirect + assert_redirected_to oauth_application_path(:id => Doorkeeper::Application.find_by(:name => "Test Application").id) + end + + def test_create_privileged + session_for(create(:user)) + + assert_difference "Doorkeeper::Application.count", 0 do + post oauth_applications_path(:oauth2_application => { + :name => "Test Application", + :redirect_uri => "https://test.example.com/", + :scopes => ["read_email"] + }) + end + assert_response :success + assert_template "oauth2_applications/new" + + session_for(create(:administrator_user)) + + assert_difference "Doorkeeper::Application.count", 1 do + post oauth_applications_path(:oauth2_application => { + :name => "Test Application", + :redirect_uri => "https://test.example.com/", + :scopes => ["read_email"] + }) + end assert_redirected_to oauth_application_path(:id => Doorkeeper::Application.find_by(:name => "Test Application").id) end @@ -121,7 +153,6 @@ class Oauth2ApplicationsControllerTest < ActionDispatch::IntegrationTest other_client = create(:oauth_application) get oauth_application_path(:id => client) - assert_response :redirect assert_redirected_to login_path(:referer => oauth_application_path(:id => client.id)) session_for(user) @@ -141,7 +172,6 @@ class Oauth2ApplicationsControllerTest < ActionDispatch::IntegrationTest other_client = create(:oauth_application) get edit_oauth_application_path(:id => client) - assert_response :redirect assert_redirected_to login_path(:referer => edit_oauth_application_path(:id => client.id)) session_for(user) @@ -190,7 +220,6 @@ class Oauth2ApplicationsControllerTest < ActionDispatch::IntegrationTest :name => "New Name", :redirect_uri => "https://new.example.com/url" }) - assert_response :redirect assert_redirected_to oauth_application_path(:id => client.id) end @@ -215,7 +244,6 @@ class Oauth2ApplicationsControllerTest < ActionDispatch::IntegrationTest assert_difference "Doorkeeper::Application.count", -1 do delete oauth_application_path(:id => client) end - assert_response :redirect assert_redirected_to oauth_applications_path end end