Sha256: 789689fed07c30674eaa89127fcdda41cdbbbb58ac49e69c3f89bdf5d0d9c6e0

Contents?: true

Size: 471 Bytes

Versions: 3

Compression:

Stored size: 471 Bytes

Contents

RSpec.describe Projection do
  class CatSerializer
    include Aggro::Projection
  end

  subject(:projection) { CatSerializer.new id }

  let(:id) { SecureRandom.uuid }
  let(:event_bus) { spy }

  before do
    allow(Aggro).to receive(:event_bus).and_return(event_bus)
  end

  describe '.new' do
    it 'should subscribe itself to events for the given ID' do
      projection

      expect(event_bus).to have_received(:subscribe).with id, projection
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aggro-0.0.4 spec/lib/aggro/projection_spec.rb
aggro-0.0.3 spec/lib/aggro/projection_spec.rb
aggro-0.0.2 spec/lib/aggro/projection_spec.rb