Sha256: 00c8ccca1a0384d332ee4aa2a4980f704e98c85a1425e5910dc4a910e17f9007

Contents?: true

Size: 1.79 KB

Versions: 22

Compression:

Stored size: 1.79 KB

Contents

require 'spec_helper_integration'

module Doorkeeper
  describe ApplicationsController do
    context 'when admin is not authenticated' do
      before do
        allow(Doorkeeper.configuration).to receive(:authenticate_admin).and_return(proc do
          redirect_to main_app.root_url
        end)
      end

      it 'redirects as set in Doorkeeper.authenticate_admin' do
        get :index
        expect(response).to redirect_to(controller.main_app.root_url)
      end

      it 'does not create application' do
        expect do
          post :create, doorkeeper_application: {
            name: 'Example',
            redirect_uri: 'https://example.com' }
        end.to_not change { Doorkeeper::Application.count }
      end
    end

    context 'when admin is authenticated' do
      before do
        allow(Doorkeeper.configuration).to receive(:authenticate_admin).and_return(->(arg) { true })
      end

      it 'creates application' do
        expect do
          post :create, doorkeeper_application: {
            name: 'Example',
            redirect_uri: 'https://example.com' }
        end.to change { Doorkeeper::Application.count }.by(1)
        expect(response).to be_redirect
      end

      it 'does not allow mass assignment of uid or secret' do
        application = FactoryGirl.create(:application)
        put :update, id: application.id, doorkeeper_application: {
          uid: '1A2B3C4D',
          secret: '1A2B3C4D' }

        expect(application.reload.uid).not_to eq '1A2B3C4D'
      end

      it 'updates application' do
        application = FactoryGirl.create(:application)
        put :update, id: application.id, doorkeeper_application: {
          name: 'Example',
          redirect_uri: 'https://example.com' }
        expect(application.reload.name).to eq 'Example'
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
doorkeeper-sequel-1.3.1 spec/controllers/applications_controller_spec.rb
doorkeeper-sequel-1.3.0 spec/controllers/applications_controller_spec.rb
doorkeeper-sequel-1.2.3 spec/controllers/applications_controller_spec.rb
doorkeeper-sequel-1.2.2 spec/controllers/applications_controller_spec.rb
doorkeeper-4.2.6 spec/controllers/applications_controller_spec.rb
doorkeeper-4.2.5 spec/controllers/applications_controller_spec.rb
doorkeeper-sequel-1.2.1 spec/controllers/applications_controller_spec.rb
doorkeeper-4.2.0 spec/controllers/applications_controller_spec.rb
doorkeeper-4.1.0 spec/controllers/applications_controller_spec.rb
doorkeeper-4.0.0 spec/controllers/applications_controller_spec.rb
doorkeeper-4.0.0.rc4 spec/controllers/applications_controller_spec.rb
doorkeeper-4.0.0.rc3 spec/controllers/applications_controller_spec.rb
doorkeeper-4.0.0.rc2 spec/controllers/applications_controller_spec.rb
doorkeeper-4.0.0.rc1 spec/controllers/applications_controller_spec.rb
doorkeeper-3.1.0 spec/controllers/applications_controller_spec.rb
doorkeeper-3.0.1 spec/controllers/applications_controller_spec.rb
doorkeeper-2.2.2 spec/controllers/applications_controller_spec.rb
doorkeeper-3.0.0 spec/controllers/applications_controller_spec.rb
doorkeeper-3.0.0.rc2 spec/controllers/applications_controller_spec.rb
doorkeeper-3.0.0.rc1 spec/controllers/applications_controller_spec.rb