Sha256: ce700391e7113238e1f64acdf298a26843da97f5edf4db6260d756a25e68a9ba

Contents?: true

Size: 1.56 KB

Versions: 8

Compression:

Stored size: 1.56 KB

Contents

require 'spec_helper'

describe ActionKitRest::User do
  before(:each) do
    @actionkit = ActionKitRest.new(host: 'test.com')

    logger = double
    logger.stub(:debug).and_return(true)

    ActionKitRest.stub(:logger).and_return(logger)
    Vertebrae::Base.stub(:logger).and_return(logger)
  end


  describe "retrieval" do
    let(:request_path) { 'user/1/' }

    before(:each) do
      stub_get(request_path).to_return(:body => body, :status => status,
                                       :headers => {:content_type => "application/json; charset=utf-8"})
    end

    describe ".get" do
      let(:status) { 200 }

      context 'without phones' do
        let(:body) { fixture('user/object_without_phones.json') }

        it 'should return a user object' do
          expect(@actionkit.user.get(1).email).to eq 'walkers@wawd.com'
        end
      end

      context 'with phones' do
        let(:body) { fixture('user/object_with_phones.json') }
        let(:phone_body) { fixture('phone/object.json') }

        it 'should include phones' do
          stub_get('phone/?user=1').to_return(:body => phone_body, :status => 200)
          expect(@actionkit.user.get(1).phones.count).to eq 3
          expect(@actionkit.user.get(1).phones.map(&:phone)).to match_array(['7755555555', '7755555577', '310-310-3310'])
        end
      end
    end

    describe 'user not found' do
      let(:body) { '' }
      let(:status) { 404 }

      it "should raise an exception" do
        expect { @actionkit.user.get(1) }.to raise_error(ActionKitRest::Response::NotFound)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
action_kit_rest-0.3.7 spec/lib/action_kit_rest/user_spec.rb
action_kit_rest-0.3.6 spec/lib/action_kit_rest/user_spec.rb
action_kit_rest-0.3.5 spec/lib/action_kit_rest/user_spec.rb
action_kit_rest-0.3.4 spec/lib/action_kit_rest/user_spec.rb
action_kit_rest-0.3.3 spec/lib/action_kit_rest/user_spec.rb
action_kit_rest-0.3.2 spec/lib/action_kit_rest/user_spec.rb
action_kit_rest-0.3.1 spec/lib/action_kit_rest/user_spec.rb
action_kit_rest-0.3.0 spec/lib/action_kit_rest/user_spec.rb