Sha256: d81260d3008562c77f29657a25feaeb8f14632d851f559c64ff8dd6041997b3b
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
require "spec_helper" describe FooMapper do let (:connection) { instance_double(Faraday::Connection, :get => nil) } let (:context) do { :foo => :bar } end subject { described_class.new(connection, context) } describe "#data" do let (:expected_raw_data) do { :some => 'data' } end let (:expected_data) { JSON::generate(expected_raw_data, :symbolize_names => true) } let (:expected_response) { instance_double(Faraday::Response, :body => expected_data, :status => 200) } context "with a valid endpoint" do before(:each) do allow(connection).to receive(:get).with("/some/test/endpoint/#{context.values[0]}").and_return(expected_response) end specify { expect(subject.data).to eq expected_raw_data } end context "invalid hostname" do let (:expected_exception) { Alephant::Publisher::Request::ConnectionFailed } let (:faraday_exception) { Faraday::ConnectionFailed.new(StandardError) } before(:each) do allow(connection).to receive(:get).and_raise(faraday_exception) end specify { expect{ subject.data }.to raise_error expected_exception } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
alephant-publisher-request-0.1.1 | spec/data_mapper_spec.rb |
alephant-publisher-request-0.0.3 | spec/data_mapper_spec.rb |
alephant-publisher-request-0.0.2 | spec/data_mapper_spec.rb |