Sha256: 8b12d49ab4fb3d918a823e65bcc0ab0f9fec3b7a7f82842fc6c60422c242a76c

Contents?: true

Size: 1.1 KB

Versions: 6

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe ZendeskAPI::ReadResource do
  context "find" do
    let(:id) { 1 }
    subject { ZendeskAPI::TestResource }

    before(:each) do
      stub_json_request(:get, %r{test_resources/#{id}}, json("test_resource" => {}))
    end

    it "should return instance of resource" do
      subject.find(client, :id => id).should be_instance_of(subject)
    end

    it "should blow up without an id which would build an invalid url" do
      expect{
        ZendeskAPI::User.find(client, :foo => :bar)
      }.to raise_error("No :id given")
    end

    context "with client error" do
      it "should handle 500 properly" do
        stub_request(:get, %r{test_resources/#{id}}).to_return(:status => 500)
        client.config.logger.should_receive(:warn).at_least(:once)
        subject.find(client, :id => id).should == nil
      end

      it "should handle 404 properly" do
        stub_request(:get, %r{test_resources/#{id}}).to_return(:status => 404)
        client.config.logger.should_receive(:warn).at_least(:once)
        subject.find(client, :id => id).should == nil
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
zendesk_api-0.1.5 spec/read_resource_spec.rb
zendesk_api-0.1.4 spec/read_resource_spec.rb
zendesk_api-0.1.3 spec/read_resource_spec.rb
zendesk_api-0.1.2 spec/read_resource_spec.rb
zendesk_api-0.1.1 spec/read_resource_spec.rb
zendesk_api-0.0.9 spec/read_resource_spec.rb