Sha256: 3da92f1b0ba4f55b09a13ef20a070486868269b9b8db2e2eb8d0dbc112c71f36

Contents?: true

Size: 1.69 KB

Versions: 50

Compression:

Stored size: 1.69 KB

Contents

require 'rails_helper'

describe 'Base requests' do
  describe 'internal_error_but_with_status200' do
    subject do
      get '/internal_error_but_with_status200'
    end

    it do
      subject
      expect(response).to have_http_status(:ok)
    end
  end

  describe 'invalid authenticity token' do
    subject { get '/admin/cosas', headers: }

    before do
      sign_in create(:user, :developer)
      allow_any_instance_of(Admin::CosasController).to \
        receive(:index).and_raise(ActionController::InvalidAuthenticityToken)
    end

    shared_examples 'manda el status correcto' do
      it do
        subject
        expect(response).to have_http_status(:bad_request)
      end

      it do
        subject
        expect(response).to have_http_status(:bad_request)
      end
    end

    it do
      expect { subject }.to have_warned
    end

    context 'cuando pide html' do
      let(:headers) do
        { 'ACCEPT' => 'text/html' }
      end

      include_examples 'manda el status correcto'

      it 'no manda el flash' do
        subject
        expect(flash).to be_empty
      end

      it 'muestra el mensaje' do
        subject
        expect(response.body).to include 'Solicitud incorrecta'
      end
    end

    context 'cuando pide turbo_stream' do
      let(:headers) do
        { 'ACCEPT' => 'text/vnd.turbo-stream.html' }
      end

      include_examples 'manda el status correcto'

      it 'manda el flash' do
        subject
        expect(flash[:alert]).to include 'Solicitud incorrecta'
      end
    end

    context 'cuando pide json' do
      let(:headers) do
        { 'ACCEPT' => 'application/json' }
      end

      include_examples 'manda el status correcto'
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
pg_rails-7.4.3 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.4.2 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.4.1 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.4.0 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.3.5 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.3.4 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.3.3 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.3.2 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.3.1 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.3.0 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.2.3 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.2.2 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.2.1 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.2.0 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.1.16 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.1.15 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.1.14 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.1.13 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.1.12 pg_engine/spec/requests/base_controller_requests_spec.rb
pg_rails-7.1.11 pg_engine/spec/requests/base_controller_requests_spec.rb