Sha256: b5674072b24426bf206d4a6c75f2075c2ff8c69c0558573532ef676aea87e939

Contents?: true

Size: 1.49 KB

Versions: 3

Compression:

Stored size: 1.49 KB

Contents

require './spec/spec_helper'


describe SharedListing do
  before(:each) do
    stub_auth_request
  end

  it "should respond to the finders" do
    SharedListing.should respond_to(:find)
  end

  context "/sharedlistings", :support do
    on_post_it "should create shared listings" do
      stub_api_post("/#{subject.class.element_name}", 'listings/shared_listing_new.json', 'listings/shared_listing_post.json')
      subject.ListingIds = ["20110224152431857619000000","20110125122333785431000000"]
      subject.ViewId = "20080125122333787615000000"
      subject.save.should be(true)
      subject.ResourceUri.should eq("http://www.flexmls.com/share/15Ar/3544-N-Olsen-Avenue-Tucson-AZ-85719")
    end

    on_post_it "should fail creating" do
      stub_api_post("/#{subject.class.element_name}",'empty.json') do |request|
        request.to_return(:status => 400, :body => fixture('errors/failure.json'))
      end
      subject
      subject.save.should be(false)
      expect{ subject.save! }.to raise_error(FlexmlsApi::ClientError){ |e| e.status.should == 400 }
    end
  end

  context "/sharedlistings/<shared_listing_id>", :support do
    on_get_it "should get shared listing" do
      shared_id = '15Ar'
      stub_api_get("/#{subject.class.element_name}/#{shared_id}",
                   'listings/shared_listing_get.json')

      shared = SharedListing.find(shared_id)
      shared.should respond_to('SharedUri')
      shared.Mode.should eq('Public')
      shared.ListingIds.should be_an(Array)
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spark_api-1.0.2 spec/unit/spark_api/models/shared_listing_spec.rb~
spark_api-1.0.1 spec/unit/spark_api/models/shared_listing_spec.rb~
spark_api-1.0.0 spec/unit/spark_api/models/shared_listing_spec.rb~