spec/asset_response_spec.rb in alephant-broker-0.0.3 vs spec/asset_response_spec.rb in alephant-broker-0.1.0

- old
+ new

@@ -1,46 +1,76 @@ require 'spec_helper' describe Alephant::Broker::AssetResponse do - describe "#initialize(request, config)" do - let(:config) { { :lookup_table_name => 'test_table', :bucket_id => 'test_bucket', :path => 'test_path' } } - let(:request) { double("Alephant::Broker::Request", :component_id => 'test', :content_type => 'text/html', :options => {:variant => 'test_variant'} ) } let(:location) { 'test_location' } + let(:config) {{ + :lookup_table_name => 'test_table', + :bucket_id => 'test_bucket', + :path => 'test_path' + }} + let(:request) { double( + "Alephant::Broker::Request", + :component_id => 'test', + :content_type => 'text/html', + :options => { :variant => 'test_variant' } + ) + } - before { + before do @lookup_table = double('Alephant::Lookup::LookupTable') Alephant::Lookup.stub(:create).and_return(@lookup_table) - } + end it "Should return the content from a successful cache lookup" do - allow(@lookup_table).to receive(:read).with(request.options).and_return(location) - Alephant::Cache.any_instance.stub(:initialize) - Alephant::Cache.any_instance.stub(:get).with(location).and_return('Test cache content') + allow(@lookup_table) + .to receive(:read) + .with(request.options) + .and_return(location) + + Alephant::Cache + .any_instance + .stub(:initialize) + + Alephant::Cache + .any_instance + .stub(:get) + .with(location) + .and_return('Test cache content') + instance = Alephant::Broker::AssetResponse.new(request, config) expect(instance.content).to eq('Test cache content') expect(instance.status).to eq(200) end it "should return a 404 if lookup can't find a valid location" do - allow(@lookup_table).to receive(:read).with(request.options).and_return(nil) - Alephant::Cache.any_instance.stub(:initialize) + allow(@lookup_table) + .to receive(:read) + .with(request.options) + .and_return(nil) + + Alephant::Cache + .any_instance + .stub(:initialize) + instance = Alephant::Broker::AssetResponse.new(request, config) expect(instance.content).to eq('Cache key not found based on component_id and options combination') expect(instance.status).to eq(404) end it "should return a 500 for any other exceptions" do - allow(@lookup_table).to receive(:read).with(request.options).and_raise(Exception) + allow(@lookup_table) + .to receive(:read) + .with(request.options) + .and_raise(Exception) + instance = Alephant::Broker::AssetResponse.new(request, config) expect(instance.status).to eq(500) - end - end - end +