Sha256: 3e5b000b5db30cf3e50aa21941a7aff593456d133fcf46f10c1ab7e9dda853c7

Contents?: true

Size: 1.35 KB

Versions: 5

Compression:

Stored size: 1.35 KB

Contents

require 'spec_helper'
module Queuel
  describe Client do
    subject { described_class.new IronMq::Engine, {} }

    it { should respond_to :push }
    it { should respond_to :pop }
    it { should respond_to :receive }
    it { should respond_to :with }

    describe "fails without a queue" do
      it "fails for push" do
        expect { subject.push }.to raise_error NoQueueGivenError
      end

      it "fails for pop" do
        expect { subject.pop }.to raise_error NoQueueGivenError
      end

      it "fails for receive" do
        expect { subject.receive }.to raise_error NoQueueGivenError
      end
    end

    describe "fails without a valid name queue" do
      subject { described_class.new(IronMq::Engine, {}).with "    " }

      it "fails for push" do
        expect { subject.push }.to raise_error NoQueueGivenError
      end

      it "fails for pop" do
        expect { subject.pop }.to raise_error NoQueueGivenError
      end

      it "fails for receive" do
        expect { subject.receive }.to raise_error NoQueueGivenError
      end
    end

    describe "queue swapping" do
      before do
        Queuel.stub default_queue: "default"
      end

      it "can swap queues easily" do
        subject.queue.should == "default"
        subject.with(:new_queue).queue.should == "new_queue"
        subject.queue.should == "default"
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
queuel-0.4.0 spec/lib/queuel/client_spec.rb
queuel-0.3.1 spec/lib/queuel/client_spec.rb
queuel-0.3.0 spec/lib/queuel/client_spec.rb
queuel-0.2.0 spec/lib/queuel/client_spec.rb
queuel-0.1.0 spec/lib/queuel/client_spec.rb