Sha256: cf6019b677b044c6b8d414d65129984402641db185c82ce4ccce9b8e8ad5640f

Contents?: true

Size: 976 Bytes

Versions: 4

Compression:

Stored size: 976 Bytes

Contents

require 'spec_helper'

describe 'Integration with Rails', timecop: true do
  let(:app) { Rails.application }

  let(:json_entries) do
    [].tap do |entries|
      STREAM.tap do |s|
        s.rewind
        s.read.split("\n").each do |line|
          entries << JSON.parse(line)
        end
        s.close
        s.reopen
      end
    end
  end

  let(:json) { json_entries.last }
  let(:json_response) { JSON.parse(last_response.body) }

  include_examples 'request logger'

  it 'preserves rails parameters' do
    get '/show'
    expect(json_response).to eq('action' => 'show', 'controller' => 'application')
  end

  context 'when a template is rendered' do
    let(:action_view_notifications) do
      json_entries.select { |e| e.to_json =~ /Rendered/ }
    end

    before { put '/users/5' }

    specify { expect(last_response.status).to eq(200) }

    it 'silences ActionView::LogSubscriber' do
      expect(action_view_notifications).to be_empty
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
loga-1.2.1 spec/integration/rails/request_spec.rb
loga-1.1.1 spec/integration/rails/request_spec.rb
loga-1.1.0 spec/integration/rails/request_spec.rb
loga-1.0.0 spec/integration/rails/request_spec.rb