|
99 | 99 | resource.ContactIds.size.should eq(0)
|
100 | 100 | end
|
101 | 101 |
|
| 102 | + describe "listings" do |
| 103 | + |
| 104 | + it "should return the searches listings" do |
| 105 | + stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json') |
| 106 | + stub_api_get("/listings", 'listings/multiple.json', |
| 107 | + {:_filter => "City Eq 'Moorhead' And MlsStatus Eq 'Active' And PropertyType Eq 'A'"}) |
| 108 | + listings = subject.class.find(id).listings |
| 109 | + listings.should be_an(Array) |
| 110 | + listings[0].should be_a(Listing) |
| 111 | + end |
| 112 | + |
| 113 | + it "should include the permissive parameter for provided searches" do |
| 114 | + stub_api_get("/provided/savedsearches/#{id}", 'saved_searches/get.json') |
| 115 | + resource = subject.class.provided.find(id) |
| 116 | + expect(SparkApi.client).to receive(:get).with("/listings", |
| 117 | + {:_filter => resource.Filter, :RequestMode => 'permissive'}) |
| 118 | + resource.listings |
| 119 | + end |
| 120 | + |
| 121 | + it "should not include the permissive parameter for saved searches" do |
| 122 | + stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json') |
| 123 | + resource = subject.class.find(id) |
| 124 | + resource.stub(:provided_search?) { false } |
| 125 | + expect(SparkApi.client).to receive(:get).with("/listings", {:_filter => resource.Filter}) |
| 126 | + resource.listings |
| 127 | + end |
| 128 | + |
| 129 | + end |
| 130 | + |
102 | 131 | end
|
103 | 132 |
|
104 | 133 | context "/provided/savedsearches", :support do
|
|
139 | 168 | describe "can_have_newsfeed?" do
|
140 | 169 |
|
141 | 170 | it "should return false for a provided search" do
|
142 |
| - stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json') |
143 |
| - resource = subject.class.find(id) |
144 |
| - resource.stub(:provided_search?) { true } |
| 171 | + stub_api_get("/provided/#{subject.class.element_name}/#{id}", 'saved_searches/get.json') |
| 172 | + resource = subject.class.provided.find(id) |
145 | 173 | resource.can_have_newsfeed?.should == false
|
146 | 174 | end
|
147 | 175 |
|
148 | 176 | it "should return false without at least three filter parameters" do
|
149 | 177 | stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json')
|
150 | 178 | resource = subject.class.find(id)
|
151 |
| - resource.stub(:provided_search?) { false } |
152 |
| - resource.stub(:has_active_newsfeed?) { false } |
153 |
| - resource.stub(:has_inactive_newsfeed?) { false } |
154 | 179 | resource.Filter = "City Eq 'Moorhead' And MlsStatus Eq 'Active'"
|
155 | 180 | resource.can_have_newsfeed?.should == false
|
156 | 181 | end
|
|
177 | 202 | end
|
178 | 203 |
|
179 | 204 | it "should return false for a provided search" do
|
180 |
| - stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/get.json') |
181 |
| - resource = subject.class.find(id) |
182 |
| - resource.stub(:provided_search?) { true } |
| 205 | + stub_api_get("/provided/#{subject.class.element_name}/#{id}", 'saved_searches/get.json') |
| 206 | + resource = subject.class.provided.find(id) |
183 | 207 | resource.has_active_newsfeed?.should == false
|
184 | 208 | end
|
185 | 209 | end
|
|
195 | 219 | end
|
196 | 220 |
|
197 | 221 | it "should return false for a provided search" do
|
198 |
| - stub_api_get("/#{subject.class.element_name}/#{id}", 'saved_searches/with_inactive_newsfeed.json') |
199 |
| - resource = subject.class.find(id) |
200 |
| - resource.stub(:provided_search?) { true } |
| 222 | + stub_api_get("/provided/#{subject.class.element_name}/#{id}", 'saved_searches/with_inactive_newsfeed.json') |
| 223 | + resource = subject.class.provided.find(id) |
201 | 224 | resource.has_inactive_newsfeed?.should == false
|
202 | 225 | end
|
203 | 226 | end
|
|
0 commit comments