Move OAuth flow tests from feature tests to system tests (#29837)
This commit is contained in:
		@@ -3,13 +3,14 @@
 | 
				
			|||||||
require 'rails_helper'
 | 
					require 'rails_helper'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
describe 'Using OAuth from an external app' do
 | 
					describe 'Using OAuth from an external app' do
 | 
				
			||||||
  let(:client_app) { Doorkeeper::Application.create!(name: 'test', redirect_uri: 'http://localhost/', scopes: 'read') }
 | 
					  let(:client_app) { Doorkeeper::Application.create!(name: 'test', redirect_uri: 'http://localhost/health', scopes: 'read') }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  context 'when the user is already logged in' do
 | 
					  context 'when the user is already logged in' do
 | 
				
			||||||
    let!(:user) { Fabricate(:user) }
 | 
					    let!(:user) { Fabricate(:user) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    before do
 | 
					    before do
 | 
				
			||||||
      sign_in user, scope: :user
 | 
					      visit new_user_session_path
 | 
				
			||||||
 | 
					      fill_in_auth_details(user.email, user.password)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it 'when accepting the authorization request' do
 | 
					    it 'when accepting the authorization request' do
 | 
				
			||||||
@@ -164,20 +165,19 @@ describe 'Using OAuth from an external app' do
 | 
				
			|||||||
        expect(Doorkeeper::AccessGrant.exists?(application: client_app, resource_owner_id: user.id)).to be false
 | 
					        expect(Doorkeeper::AccessGrant.exists?(application: client_app, resource_owner_id: user.id)).to be false
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					 | 
				
			||||||
    private
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def fill_in_auth_details(email, password)
 | 
					 | 
				
			||||||
      fill_in 'user_email', with: email
 | 
					 | 
				
			||||||
      fill_in 'user_password', with: password
 | 
					 | 
				
			||||||
      click_on I18n.t('auth.login')
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def fill_in_otp_details(value)
 | 
					 | 
				
			||||||
      fill_in 'user_otp_attempt', with: value
 | 
					 | 
				
			||||||
      click_on I18n.t('auth.login')
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # TODO: external auth
 | 
					    # TODO: external auth
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def fill_in_auth_details(email, password)
 | 
				
			||||||
 | 
					    fill_in 'user_email', with: email
 | 
				
			||||||
 | 
					    fill_in 'user_password', with: password
 | 
				
			||||||
 | 
					    click_on I18n.t('auth.login')
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def fill_in_otp_details(value)
 | 
				
			||||||
 | 
					    fill_in 'user_otp_attempt', with: value
 | 
				
			||||||
 | 
					    click_on I18n.t('auth.login')
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
		Reference in New Issue
	
	Block a user