Sha256: 5c3e957394113212fb5faea8e7f1489391413b8a3aba182477f1ef0f8142913c

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe Alephant::Broker::ResponseFactory do

  describe "#response_from(request)" do
    let (:request) { double("Alephant::Broker::Request") }

    it "should return as asset response" do
      instance = Alephant::Broker::ResponseFactory.new({})
      allow(request).to receive(:type).and_return(:asset)

      Alephant::Broker::AssetResponse.any_instance.stub(:initialize).with(request, {})
      expect(instance.response_from(request)).to be_a Alephant::Broker::AssetResponse
    end

    it "should return a status response" do
      allow(request).to receive(:type).and_return(:status)
      response = subject.response_from(request)
      expect(response.status).to eq(200)
    end

    it "should return a 404 response" do
      allow(request).to receive(:type).and_return(:notfound)
      response = subject.response_from(request)
      expect(response.status).to eq(404)
    end

    it "should return a 500 response" do
      allow(request).to receive(:type).and_return(:error)
      response = subject.response_from(request)
      expect(response.status).to eq(500)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
alephant-broker-0.0.3 spec/response_factory_spec.rb