Sha256: 4d7094b78d528652fd72590f97318465cedf4e3246670f7ed4d3e522c5828796

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

require 'spec_helper'

class NotificationCollector
  def call(*args)
    events << ActiveSupport::Notifications::Event.new(*args)
  end

  def events
    @events ||= []
  end
end

describe ::Acfs::Global do
  let(:adapter) { ::NullAdapter.new }
  let(:runner) { double 'runner' }
  let(:collector) { NotificationCollector.new }
  let(:acfs) { Object.new.tap { |o| o.extend ::Acfs::Global } }

  describe 'instrumentation' do
    before do
      #allow(runner).to receive(:start)
      allow(acfs).to receive(:runner).and_return runner
    end

    describe '#run' do
      before do
        ::ActiveSupport::Notifications.subscribe 'acfs.run', collector
      end
      it 'should trigger event' do
        Acfs.run
        expect(collector.events).to have(1).items
      end
    end

    describe '#reset' do
      before do
        ::ActiveSupport::Notifications.subscribe 'acfs.reset', collector
      end
      it 'should trigger event' do
        Acfs.reset
        expect(collector.events).to have(1).items
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
acfs-0.36.0.1.b293 spec/acfs/global_spec.rb
acfs-0.36.0 spec/acfs/global_spec.rb
acfs-0.35.0.1.b291 spec/acfs/global_spec.rb
acfs-0.35.0 spec/acfs/global_spec.rb