Sha256: 4ad2ba34b1b3bdedee6b33eb4594685428acc8db2aa038a2344770e3d9112641
Contents?: true
Size: 1.36 KB
Versions: 20
Compression:
Stored size: 1.36 KB
Contents
# frozen_string_literal: true RSpec.describe Deimos::ActiveRecordConsume::BatchSlicer do describe '#slice' do let(:batch) do [ Deimos::Message.new({ v: 1 }, key: 'C'), Deimos::Message.new({ v: 123 }, key: 'A'), Deimos::Message.new({ v: 999 }, key: 'B'), Deimos::Message.new({ v: 456 }, key: 'A'), Deimos::Message.new({ v: 2 }, key: 'C'), Deimos::Message.new({ v: 3 }, key: 'C') ] end it 'should slice a batch by key' do slices = described_class.slice(batch) expect(slices). to match([ match_array([ Deimos::Message.new({ v: 1 }, key: 'C'), Deimos::Message.new({ v: 123 }, key: 'A'), Deimos::Message.new({ v: 999 }, key: 'B') ]), match_array([ Deimos::Message.new({ v: 456 }, key: 'A'), Deimos::Message.new({ v: 2 }, key: 'C') ]), match_array([ Deimos::Message.new({ v: 3 }, key: 'C') ]) ]) end it 'should handle empty batches' do slices = described_class.slice([]) expect(slices).to be_empty end end end
Version data entries
20 entries across 20 versions & 1 rubygems