# frozen_string_literal: true require 'spec_helper_integration' describe Doorkeeper::ApplicationMetalController do controller(Doorkeeper::ApplicationMetalController) do def index render json: {}, status: 200 end end it "lazy run hooks" do i = 0 ActiveSupport.on_load(:doorkeeper_metal_controller) { i += 1 } expect(i).to eq 1 end describe 'enforce_content_type' do before { allow(Doorkeeper.configuration).to receive(:enforce_content_type).and_return(flag) } context 'enabled' do let(:flag) { true } it '200 for the correct media type' do get :index, params: {}, as: :url_encoded_form expect(response).to have_http_status 200 end it 'returns a 415 for an incorrect media type' do get :index, as: :json expect(response).to have_http_status 415 end end context 'disabled' do let(:flag) { false } it 'returns a 200 for the correct media type' do get :index, as: :url_encoded_form expect(response).to have_http_status 200 end it 'returns a 200 for an incorrect media type' do get :index, as: :json expect(response).to have_http_status 200 end end end end