Make sure scopes are loaded in admin OAuth application form
This commit is contained in:
		
							parent
							
								
									6bf7037ecd
								
							
						
					
					
						commit
						789db2cc19
					
				|  | @ -2,7 +2,7 @@ class Admin::ApplicationsController < Admin::ApplicationController | |||
|   include OauthApplications | ||||
| 
 | ||||
|   before_action :set_application, only: [:show, :edit, :update, :destroy] | ||||
|   before_action :load_scopes, only: [:new, :edit] | ||||
|   before_action :load_scopes, only: [:new, :create, :edit, :update] | ||||
| 
 | ||||
|   def index | ||||
|     @applications = Doorkeeper::Application.where("owner_id IS NULL") | ||||
|  |  | |||
|  | @ -0,0 +1,65 @@ | |||
| require 'spec_helper' | ||||
| 
 | ||||
| describe Admin::ApplicationsController do | ||||
|   let(:admin) { create(:admin) } | ||||
|   let(:application) { create(:oauth_application, owner_id: nil, owner_type: nil) } | ||||
| 
 | ||||
|   before do | ||||
|     sign_in(admin) | ||||
|   end | ||||
| 
 | ||||
|   describe 'GET #new' do | ||||
|     it 'renders the application form' do | ||||
|       get :new | ||||
| 
 | ||||
|       expect(response).to render_template :new | ||||
|       expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe 'GET #edit' do | ||||
|     it 'renders the application form' do | ||||
|       get :edit, id: application.id | ||||
| 
 | ||||
|       expect(response).to render_template :edit | ||||
|       expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe 'POST #create' do | ||||
|     it 'creates the application' do | ||||
|       expect do | ||||
|         post :create, doorkeeper_application: attributes_for(:application) | ||||
|       end.to change { Doorkeeper::Application.count }.by(1) | ||||
| 
 | ||||
|       application = Doorkeeper::Application.last | ||||
| 
 | ||||
|       expect(response).to redirect_to(admin_application_path(application)) | ||||
|     end | ||||
| 
 | ||||
|     it 'renders the application form on errors' do | ||||
|       expect do | ||||
|         post :create, doorkeeper_application: attributes_for(:application).merge(redirect_uri: nil) | ||||
|       end.not_to change { Doorkeeper::Application.count } | ||||
| 
 | ||||
|       expect(response).to render_template :new | ||||
|       expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   describe 'PATCH #update' do | ||||
|     it 'updates the application' do | ||||
|       patch :update, id: application.id, doorkeeper_application: { redirect_uri: 'http://example.com/' } | ||||
| 
 | ||||
|       expect(response).to redirect_to(admin_application_path(application)) | ||||
|       expect(application.reload.redirect_uri).to eq 'http://example.com/' | ||||
|     end | ||||
| 
 | ||||
|     it 'renders the application form on errors' do | ||||
|       patch :update, id: application.id, doorkeeper_application: { redirect_uri: nil } | ||||
| 
 | ||||
|       expect(response).to render_template :edit | ||||
|       expect(assigns[:scopes]).to be_kind_of(Doorkeeper::OAuth::Scopes) | ||||
|     end | ||||
|   end | ||||
| end | ||||
		Loading…
	
		Reference in New Issue