Sha256: 410e737755da9e88d20dae11fad248d38de642772ed98b15dd87121222369e45
Contents?: true
Size: 1.23 KB
Versions: 2
Compression:
Stored size: 1.23 KB
Contents
require 'spec_helper' describe GunBroker::Item do let(:attrs) { JSON.parse(response_fixture('item')) } it 'should have an #id' do item = GunBroker::Item.new(attrs) expect(item.id).to eq(attrs['itemID']) end context '#[]' do it 'should return the value from @attrs' do item = GunBroker::Item.new(attrs) attrs.each { |k, v| expect(item[k]).to eq(v) } end end context '.find' do let(:attrs) { JSON.parse(response_fixture('item')) } let(:endpoint) { [GunBroker::API::GUNBROKER_API, "/Items/#{attrs['itemID']}"].join } context 'on success' do it 'returns an Item' do stub_request(:get, endpoint) .with(headers: headers) .to_return(body: response_fixture('item')) id = attrs['itemID'] item = GunBroker::Item.find(id) expect(item).to be_a(GunBroker::Item) expect(item.id).to eq(id) end end context 'on failure' do it 'should raise an exception' do stub_request(:get, endpoint) .with(headers: headers) .to_return(body: response_fixture('empty'), status: 404) expect { GunBroker::Item.find(attrs['itemID']) }.to raise_error(GunBroker::Error::RequestError) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gun_broker-0.4.1 | spec/gun_broker/item_spec.rb |
gun_broker-0.4.0 | spec/gun_broker/item_spec.rb |