Sha256: d241169d9a91df7962be20c44686ee51a94256d99ad443fcfa8e24a0e3533fe7

Contents?: true

Size: 1.72 KB

Versions: 16

Compression:

Stored size: 1.72 KB

Contents

require 'spec_helper'

describe DispatchRider::QueueServices::Simple do
  subject(:simple_queue) do
    DispatchRider::QueueServices::Simple.new
  end

  describe "#assign_storage" do
    it "should return an empty array" do
      expect(simple_queue.assign_storage({})).to eq([])
    end
  end

  describe "#insert" do
    it "should insert a serialized object into the queue" do
      simple_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
      result = JSON.parse(simple_queue.queue.pop)
      expect(result['subject']).to eq('foo')
      expect(result['body']).to eq('bar')
    end
  end

  describe "#raw_head" do
    before :each do
      simple_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
    end

    it "should return the first item from the queue" do
      result = JSON.parse(simple_queue.raw_head)
      expect(result['subject']).to eq('foo')
      expect(result['body']).to eq('bar')
    end
  end

  describe "#construct_message_from" do
    it "should return the item casted as a message" do
      result = simple_queue.construct_message_from({'subject' => 'foo', 'body' => 'bar'}.to_json)
      expect(result.subject).to eq('foo')
      expect(result.body).to eq('bar')
    end
  end

  describe "#delete" do
    before :each do
      simple_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
    end

    it "should remove the item from the queue" do
      simple_queue.delete({'subject' => 'foo', 'body' => 'bar'}.to_json)
      expect(simple_queue).to be_empty
    end
  end

  describe "#size" do
    before :each do
      simple_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
    end

    it "should return the size of the queue" do
      expect(simple_queue.size).to eq(1)
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
dispatch-rider-2.1.0 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-2.0.0 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.9.0 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.8.6 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.8.5 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.8.4 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.8.3 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.8.2 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.8.1 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.8.0 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.7.2 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.7.1 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.7.0 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.6.2 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.6.1 spec/lib/dispatch-rider/queue_services/simple_spec.rb
dispatch-rider-1.6.0 spec/lib/dispatch-rider/queue_services/simple_spec.rb