nineflats-api 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,20 +2,20 @@ require 'spec_helper'
2
2
 
3
3
  describe Nineflats::Place do
4
4
  before(:each) do
5
- Nineflats::Base.stub!(:client_app_key).and_return("WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S")
5
+ Nineflats::Client.connect('client_app_key', 'client_app_secret')
6
6
  FakeWeb.register_uri(:get,
7
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa?client_id=#{Nineflats::Base.client_app_key}&lang=en",
7
+ "http://www.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa?client_id=client_app_key",
8
8
  :body => Fixtures.place
9
9
  )
10
- FakeWeb.register_uri(:get,
11
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/prices?client_id=#{Nineflats::Base.client_app_key}",
12
- :body => Fixtures.place_prices
13
- )
14
10
  end
15
-
11
+
16
12
  describe "prices" do
17
13
  before(:each) do
18
14
  @place = Nineflats::Place.fetch('apt-no-centro-histrico-de-lisboa', 'en')
15
+ FakeWeb.register_uri(:get,
16
+ "http://www.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/prices?client_id=client_app_key",
17
+ :body => Fixtures.place_prices
18
+ )
19
19
  end
20
20
 
21
21
  it "should add the basic prices to the place" do
@@ -25,7 +25,7 @@ describe Nineflats::Place do
25
25
  @place.prices.weekly_discount_in_percent.should == 5.55
26
26
  @place.prices.monthly_discount_in_percent.should == 11.11
27
27
  end
28
-
28
+
29
29
  it "should add the seasons" do
30
30
  @place.prices.seasons.length.should == 2
31
31
  @place.prices.seasons[0].from.should == "2011-09-05"
@@ -37,31 +37,31 @@ describe Nineflats::Place do
37
37
  @place.prices.seasons[1].price.should == 75.0
38
38
  @place.prices.seasons[1].weekend_night_price.should == 75.0
39
39
  end
40
-
40
+
41
41
  it "should return an empty seasons array when there are no seasons" do
42
- FakeWeb.register_uri(:get,
43
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/prices?client_id=#{Nineflats::Base.client_app_key}",
42
+ FakeWeb.register_uri(:get,
43
+ "http://www.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/prices?client_id=client_app_key",
44
44
  :body => '{"place_prices":{"currency":"GBP","default_price":64.71,"weekend_night_price":64.71,"weekly_discount_in_percent":null,"monthly_discount_in_percent":null,"seasons":[]}}'
45
45
  )
46
-
46
+
47
47
  @place.prices.seasons.should == []
48
48
  end
49
-
49
+
50
50
  it "should return nil when the API call fails" do
51
- FakeWeb.register_uri(:get,
52
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/prices?client_id=#{Nineflats::Base.client_app_key}",
53
- :body => ''
51
+ FakeWeb.register_uri(:get,
52
+ "http://www.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/prices?client_id=client_app_key",
53
+ :body => '{"error":"Place not found!"}', :status => 404
54
54
  )
55
-
56
- @place.prices.should == nil
55
+
56
+ expect { @place.prices }.to raise_error(Nineflats::Error, "Place not found!")
57
57
  end
58
-
58
+
59
59
  it "should cache the prices" do
60
- Nineflats::Helpers.should_receive(:get_data).and_return(JSON.parse(Fixtures.place_prices))
60
+ Nineflats::Client.should_receive(:place_prices).and_return(JSON.parse(Fixtures.place_prices))
61
61
  @place.prices
62
62
 
63
- Nineflats::Helpers.should_not_receive(:get_data)
63
+ Nineflats::Client.should_not_receive(:place_prices)
64
64
  @place.prices
65
65
  end
66
66
  end
67
- end
67
+ end
@@ -2,17 +2,17 @@ require 'spec_helper'
2
2
 
3
3
  describe Nineflats::Place do
4
4
  before(:each) do
5
- Nineflats::Base.stub!(:client_app_key).and_return("WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S")
5
+ Nineflats::Client.connect('client_app_key', 'client_app_secret')
6
6
  FakeWeb.register_uri(:get,
7
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa?client_id=#{Nineflats::Base.client_app_key}&lang=en",
7
+ "http://www.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa?client_id=client_app_key",
8
8
  :body => Fixtures.place
9
9
  )
10
- FakeWeb.register_uri(:get,
11
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/reviews?client_id=#{Nineflats::Base.client_app_key}",
10
+ FakeWeb.register_uri(:get,
11
+ "http://www.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/reviews?client_id=client_app_key",
12
12
  :body => Fixtures.place_reviews
13
13
  )
14
14
  end
15
-
15
+
16
16
  describe "reviews" do
17
17
  before(:each) do
18
18
  @place = Nineflats::Place.fetch('apt-no-centro-histrico-de-lisboa', 'en')
@@ -20,38 +20,37 @@ describe Nineflats::Place do
20
20
 
21
21
  it "should add the reviews" do
22
22
  @place.reviews.length.should == 2
23
-
24
23
  @place.reviews[0].user_text.should == "Jan is a really nice outgoing person. I had a great time at his place. You should ask him for that tastey Polish vodka!!"
25
24
  @place.reviews[0].place_text.should == "It\'s a nice and lovely flat in a really great area of cologne. everything is in walking distance and it is great start to explore the cologne and its nightlife."
26
25
  @place.reviews[0].place_stars.should == 5
27
26
  @place.reviews[0].language.should == "en"
28
27
  @place.reviews[1].language.should == "de"
29
28
  end
30
-
29
+
31
30
  it "should return an empty array when there are no reviews" do
32
- FakeWeb.register_uri(:get,
33
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/reviews?client_id=#{Nineflats::Base.client_app_key}",
31
+ FakeWeb.register_uri(:get,
32
+ "http://www.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/reviews?client_id=client_app_key",
34
33
  :body => '{"total_entries":0,"reviews":[]}'
35
34
  )
36
-
35
+
37
36
  @place.reviews.should == []
38
37
  end
39
-
38
+
40
39
  it "should return nil when the API call fails" do
41
- FakeWeb.register_uri(:get,
42
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/reviews?client_id=#{Nineflats::Base.client_app_key}",
43
- :body => ''
40
+ FakeWeb.register_uri(:get,
41
+ "http://www.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/reviews?client_id=client_app_key",
42
+ :body => '{"error":"Place not found!"}', :status => 404
44
43
  )
45
-
46
- @place.reviews.should == nil
44
+
45
+ expect { @place.reviews }.to raise_error(Nineflats::Error, "Place not found!")
47
46
  end
48
-
47
+
49
48
  it "should cache the reviews" do
50
- Nineflats::Helpers.should_receive(:get_data).and_return(JSON.parse(Fixtures.place_reviews))
49
+ Nineflats::Client.should_receive(:place_reviews).and_return(JSON.parse(Fixtures.place_reviews))
51
50
  @place.reviews
52
51
 
53
- Nineflats::Helpers.should_not_receive(:get_data)
52
+ Nineflats::Client.should_not_receive(:place_reviews)
54
53
  @place.reviews
55
- end
54
+ end
56
55
  end
57
- end
56
+ end
data/spec/place_spec.rb CHANGED
@@ -2,22 +2,22 @@ require 'spec_helper'
2
2
 
3
3
  describe Nineflats::Place do
4
4
  before(:each) do
5
- Nineflats::Base.stub!(:client_app_key).and_return("WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S")
6
- FakeWeb.register_uri(:get,
7
- "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa?client_id=#{Nineflats::Base.client_app_key}&lang=en",
5
+ Nineflats::Base.stub!(:client_app_key).and_return("client_app_key")
6
+ FakeWeb.register_uri(:get,
7
+ "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa?client_id=client_app_key&lang=en",
8
8
  :body => Fixtures.place
9
9
  )
10
10
  end
11
-
11
+
12
12
  describe "fetch" do
13
13
  before(:each) do
14
14
  @place = Nineflats::Place.fetch('apt-no-centro-histrico-de-lisboa', 'en')
15
15
  end
16
-
16
+
17
17
  it "should return a place" do
18
18
  @place.class.should == Nineflats::Place
19
19
  end
20
-
20
+
21
21
  it "should set all the attributes" do
22
22
  @place.name.should == "Great river view, Colorful and Cozy"
23
23
  @place.city.should == "Lisboa"
@@ -50,15 +50,15 @@ describe Nineflats::Place do
50
50
  @place.place_type.should == "Entire place"
51
51
  @place.description.should == "Panoramic terrace in the historic center of Lisbon, close to Subway and Airport"
52
52
  end
53
-
53
+
54
54
  it "should set the links" do
55
- @place.self_url.should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa?client_id=WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S"
56
- @place.full_url.should == "http://www.9flats.com/places/apt-no-centro-histrico-de-lisboa"
57
- @place.photos_url.should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/photos?client_id=WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S"
58
- @place.prices_url.should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/prices?client_id=WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S"
59
- @place.reviews_url.should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/reviews?client_id=WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S"
60
- @place.calendar_current_month_url.should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/calendar/2011/10?client_id=WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S"
61
- @place.calendar_next_month_url.should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/calendar/2011/11?client_id=WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S"
55
+ @place.links['self'].should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa?client_id=client_app_key"
56
+ @place.links['full'].should == "http://www.9flats.com/places/apt-no-centro-histrico-de-lisboa"
57
+ @place.links['photos'].should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/photos?client_id=client_app_key"
58
+ @place.links['prices'].should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/prices?client_id=client_app_key"
59
+ @place.links['reviews'].should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/reviews?client_id=client_app_key"
60
+ @place.links['calendar: current month'].should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/calendar/2011/10?client_id=client_app_key"
61
+ @place.links['calendar: next month'].should == "http://api.9flats.com/api/v1/places/apt-no-centro-histrico-de-lisboa/calendar/2011/11?client_id=client_app_key"
62
62
  end
63
63
 
64
64
  it "should set the host" do
data/spec/search_spec.rb CHANGED
@@ -2,50 +2,41 @@ require 'spec_helper'
2
2
 
3
3
  describe Nineflats::Place do
4
4
  before(:each) do
5
- Nineflats::Base.stub!(:client_app_key).and_return("WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S")
5
+ Nineflats::Client.connect('client_app_key', 'client_app_secret')
6
6
  end
7
-
8
- describe "search" do
9
- it "should build the search query from the parameters" do
10
- Nineflats::Helpers.should_receive(:get_data).with(
11
- "http://api.9flats.com/api/v1/places?client_id=#{Nineflats::Base.client_app_key}&search[query]=Siena&search[number_of_beds]=3&search[currency]=USD"
12
- ).and_return(JSON.parse(Fixtures.search_result))
13
- Nineflats::Place.search({:query => "Siena", :number_of_beds => 3, :currency => "USD"})
14
- end
15
- end
16
-
7
+
17
8
  context "correct query" do
18
9
  before(:each) do
19
- FakeWeb.register_uri(:get,
20
- "http://api.9flats.com/api/v1/places?client_id=#{Nineflats::Base.client_app_key}&search[query]=Siena&search[number_of_beds]=3&search[currency]=USD",
10
+ FakeWeb.register_uri(:get,
11
+ "http://www.9flats.com/api/v1/places?client_id=client_app_key&search[query]=Siena&search[number_of_beds]=3&search[currency]=USD",
21
12
  :body => Fixtures.search_result
22
13
  )
23
14
  @result = Nineflats::Place.search({:query => "Siena", :number_of_beds => 3, :currency => "USD"})
24
15
  end
25
-
16
+
26
17
  it "should return an array of places" do
27
18
  @result.length.should == 9
28
19
  @result.first.class.should == Nineflats::Place
29
20
  @result.first.city.should == "Siena"
30
21
  @result.first.slug.should == "splendida-villa-toscana-"
31
22
  end
32
-
23
+
33
24
  it "should return an array that has more information about the search result" do
34
25
  @result.total_entries.should == 28
35
26
  @result.total_pages.should == 4
36
27
  @result.current_page.should == 1
37
28
  @result.per_page.should == 9
38
- @result.self_url.should == "http://api.9flats.com/api/v1/places?client_id=#{Nineflats::Base.client_app_key}&search[amenities]=&search[bb_ne]=&search[bb_sw]=&search[currency]=USD&search[end_date]=&search[exclude_place_id]=&search[lat]=43.3186614&search[lng]=11.3305135&search[number_of_bathrooms]=0&search[number_of_bedrooms]=0&search[number_of_beds]=3&search[page]=1&search[place_type]=&search[price_max]=&search[price_min]=&search[query]=siena&search[radius]=20&search[sort_by]=top_ranking&search[start_date]=&search[woeid]="
29
+ @result.self_url.should == "http://api.9flats.com/api/v1/places?client_id=client_app_key&search[amenities]=&search[bb_ne]=&search[bb_sw]=&search[currency]=USD&search[end_date]=&search[exclude_place_id]=&search[lat]=43.3186614&search[lng]=11.3305135&search[number_of_bathrooms]=0&search[number_of_bedrooms]=0&search[number_of_beds]=3&search[page]=1&search[place_type]=&search[price_max]=&search[price_min]=&search[query]=siena&search[radius]=20&search[sort_by]=top_ranking&search[start_date]=&search[woeid]="
39
30
  @result.full_url.should == "http://www.9flats.com/searches?search[amenities]=&search[bb_ne]=&search[bb_sw]=&search[currency]=USD&search[end_date]=&search[exclude_place_id]=&search[lat]=43.3186614&search[lng]=11.3305135&search[number_of_bathrooms]=0&search[number_of_bedrooms]=0&search[number_of_beds]=3&search[page]=1&search[place_type]=&search[price_max]=&search[price_min]=&search[query]=siena&search[radius]=20&search[sort_by]=top_ranking&search[start_date]=&search[woeid]="
40
- @result.next_page_url.should == "http://api.9flats.com/api/v1/places?client_id=#{Nineflats::Base.client_app_key}&search[amenities]=&search[bb_ne]=&search[bb_sw]=&search[currency]=USD&search[end_date]=&search[exclude_place_id]=&search[lat]=43.3186614&search[lng]=11.3305135&search[number_of_bathrooms]=0&search[number_of_bedrooms]=0&search[number_of_beds]=3&search[page]=2&search[place_type]=&search[price_max]=&search[price_min]=&search[query]=siena&search[radius]=20&search[sort_by]=top_ranking&search[start_date]=&search[woeid]="
31
+ @result.next_page_url.should == "http://api.9flats.com/api/v1/places?client_id=client_app_key&search[amenities]=&search[bb_ne]=&search[bb_sw]=&search[currency]=USD&search[end_date]=&search[exclude_place_id]=&search[lat]=43.3186614&search[lng]=11.3305135&search[number_of_bathrooms]=0&search[number_of_bedrooms]=0&search[number_of_beds]=3&search[page]=2&search[place_type]=&search[price_max]=&search[price_min]=&search[query]=siena&search[radius]=20&search[sort_by]=top_ranking&search[start_date]=&search[woeid]="
41
32
  end
42
-
33
+
43
34
  it "should return an array that gives access to the next page" do
44
- FakeWeb.register_uri(:get,
45
- "http://api.9flats.com/api/v1/places?client_id=#{Nineflats::Base.client_app_key}&search[amenities]=&search[bb_ne]=&search[bb_sw]=&search[currency]=USD&search[end_date]=&search[exclude_place_id]=&search[lat]=43.3186614&search[lng]=11.3305135&search[number_of_bathrooms]=0&search[number_of_bedrooms]=0&search[number_of_beds]=3&search[page]=2&search[place_type]=&search[price_max]=&search[price_min]=&search[query]=siena&search[radius]=20&search[sort_by]=top_ranking&search[start_date]=&search[woeid]=",
35
+ FakeWeb.register_uri(:get,
36
+ "http://api.9flats.com/api/v1/places?client_id=client_app_key&search[amenities]=&search[bb_ne]=&search[bb_sw]=&search[currency]=USD&search[end_date]=&search[exclude_place_id]=&search[lat]=43.3186614&search[lng]=11.3305135&search[number_of_bathrooms]=0&search[number_of_bedrooms]=0&search[number_of_beds]=3&search[page]=2&search[place_type]=&search[price_max]=&search[price_min]=&search[query]=siena&search[radius]=20&search[sort_by]=top_ranking&search[start_date]=&search[woeid]=",
46
37
  :body => Fixtures.search_result
47
38
  )
48
-
39
+
49
40
  @result.next_page.length.should == 9
50
41
  @result.next_page.first.class.should == Nineflats::Place
51
42
  @result.next_page.first.city.should == "Siena"
data/spec/user_spec.rb CHANGED
@@ -1,78 +1,87 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Nineflats::User do
4
- before(:each) do
5
- Nineflats::Base.stub!(:client_app_key).and_return("WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S")
6
- FakeWeb.register_uri(:get,
7
- "http://api.9flats.com/api/v1/users/jana-k-1?client_id=#{Nineflats::Base.client_app_key}",
8
- :body => Fixtures.user
9
- )
10
- end
11
-
12
- describe "fetch" do
4
+
5
+ describe "requesting a user" do
13
6
  before(:each) do
14
- @user = Nineflats::User.fetch('jana-k-1')
15
- end
16
-
17
- it "should return a user" do
18
- @user.class.should == Nineflats::User
19
- end
20
-
21
- it "should set all the attributes" do
22
- @user.name.should == "Jana K."
23
- @user.slug.should == "jana-k-1"
24
- @user.user_photo_url.should == "http://img3.9flats.com/users/photos/11405-1311181665/medium.jpg"
7
+ Nineflats::Client.connect('client_app_key', 'client_app_secret')
8
+ FakeWeb.register_uri(:get,
9
+ "http://www.9flats.com/api/v1/users/jana-k-1?client_id=client_app_key",
10
+ :body => Fixtures.user
11
+ )
25
12
  end
26
-
27
- it "should set the links" do
28
- @user.self_url.should == "http://api.9flats.com/api/v1/users/jana-k-1?client_id=WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S"
29
- @user.full_url.should == "http://www.9flats.com/users/jana-k-1"
30
- @user.favorites_url.should == "http://api.9flats.com/api/v1/users/jana-k-1/favorites?client_id=WfKWrPywnEbMhlifGlrsLu2ULfvTwxrKQji5eg0S"
13
+
14
+ it "should succeed" do
15
+ user = Nineflats::User.find_by_slug('jana-k-1')
16
+ user.class.should == Nineflats::User
17
+ user.name.should == 'Jana K.'
18
+ user.slug.should == "jana-k-1"
19
+ user.user_photo_url.should == "http://img3.9flats.com/users/photos/11405-1311181665/medium.jpg"
20
+ user.self_url.should == "http://api.9flats.com/api/v1/users/jana-k-1?client_id=client_app_key"
21
+ user.full_url.should == "http://www.9flats.com/users/jana-k-1"
22
+ user.favorites_url.should == "http://api.9flats.com/api/v1/users/jana-k-1/favorites?client_id=client_app_key"
31
23
  end
32
24
  end
33
-
25
+
34
26
  describe "favorites" do
35
27
  before(:each) do
36
- FakeWeb.register_uri(:get,
37
- "http://api.9flats.com/api/v1/users/jana-k-1/favorites?client_id=#{Nineflats::Base.client_app_key}",
38
- :body => Fixtures.user_favorites
28
+ Nineflats::Client.connect('client_app_key', 'client_app_secret')
29
+ FakeWeb.register_uri(:get,
30
+ "http://www.9flats.com/api/v1/users/jana-k-1?client_id=client_app_key",
31
+ :body => Fixtures.user
39
32
  )
40
- @user = Nineflats::User.fetch('jana-k-1')
33
+ @user = Nineflats::User.find_by_slug('jana-k-1')
41
34
  end
42
-
35
+
43
36
  it "should add the favorite places" do
37
+ FakeWeb.register_uri(:get,
38
+ "http://www.9flats.com/api/v1/users/jana-k-1/favorites?client_id=client_app_key",
39
+ :body => Fixtures.user_favorites
40
+ )
44
41
  @user.favorites.length.should == 7
45
-
42
+
46
43
  @user.favorites[0].class.should == Nineflats::Place
47
44
  @user.favorites[0].name.should == "Maison de charme"
48
45
  @user.favorites[0].city.should == "Olargues"
49
46
  @user.favorites[1].slug.should == "55qm-loftwohnung"
50
47
  end
51
-
48
+
52
49
  it "should return an empty array when there are no favorites" do
53
- FakeWeb.register_uri(:get,
54
- "http://api.9flats.com/api/v1/users/jana-k-1/favorites?client_id=#{Nineflats::Base.client_app_key}",
50
+ FakeWeb.register_uri(:get,
51
+ "http://www.9flats.com/api/v1/users/jana-k-1/favorites?client_id=client_app_key",
55
52
  :body => '{"places":[]}'
56
53
  )
57
-
54
+
58
55
  @user.favorites.should == []
59
56
  end
60
-
61
- it "should return nil when the API call fails" do
62
- FakeWeb.register_uri(:get,
63
- "http://api.9flats.com/api/v1/users/jana-k-1/favorites?client_id=#{Nineflats::Base.client_app_key}",
64
- :body => ''
65
- )
66
-
67
- @user.favorites.should == nil
68
- end
69
-
70
- it "should cache the reviews" do
71
- Nineflats::Helpers.should_receive(:get_data).and_return(JSON.parse(Fixtures.user_favorites))
57
+
58
+ it "should cache the favorites" do
59
+ Nineflats::Client.should_receive(:user_favorites).and_return(JSON.parse(Fixtures.user_favorites))
72
60
  @user.favorites
73
-
74
- Nineflats::Helpers.should_not_receive(:get_data)
61
+
62
+ Nineflats::Client.should_not_receive(:user_favorites)
75
63
  @user.favorites
76
64
  end
77
65
  end
78
- end
66
+
67
+ describe "bookings" do
68
+ before(:each) do
69
+ Nineflats::Client.connect('client_app_key', 'client_app_secret')
70
+ Nineflats::Client.client.access_token = OAuth::AccessToken.new(Nineflats::Client.consumer, 'access_token', "access_token_secret")
71
+ FakeWeb.register_uri(:get,
72
+ "http://www.9flats.com/api/v1/users/jana-k-1?client_id=client_app_key",
73
+ :body => Fixtures.user
74
+ )
75
+ @user = Nineflats::User.find_by_slug('jana-k-1')
76
+ end
77
+
78
+ it "return bookings" do
79
+ FakeWeb.register_uri(:get,
80
+ "http://www.9flats.com/api/v1/users/jana-k-1/bookings?client_id=client_app_key",
81
+ :body => Fixtures.user_bookings
82
+ )
83
+ @user.bookings.length.should == 2
84
+ end
85
+ end
86
+
87
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nineflats-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,12 +10,12 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-11-03 00:00:00.000000000 +01:00
13
+ date: 2011-11-07 00:00:00.000000000 +01:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: oauth
18
- requirement: &2152542500 !ruby/object:Gem::Requirement
18
+ requirement: &2152455640 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: '0'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2152542500
26
+ version_requirements: *2152455640
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
- requirement: &2152541640 !ruby/object:Gem::Requirement
29
+ requirement: &2152454840 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ~>
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: 0.9.0
35
35
  type: :development
36
36
  prerelease: false
37
- version_requirements: *2152541640
37
+ version_requirements: *2152454840
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rspec
40
- requirement: &2152540840 !ruby/object:Gem::Requirement
40
+ requirement: &2152439980 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: '0'
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *2152540840
48
+ version_requirements: *2152439980
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: fakeweb
51
- requirement: &2152540160 !ruby/object:Gem::Requirement
51
+ requirement: &2152439360 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,7 +56,7 @@ dependencies:
56
56
  version: '0'
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *2152540160
59
+ version_requirements: *2152439360
60
60
  description: Let's you use the 9flats API'
61
61
  email:
62
62
  - lena@zeromail.org
@@ -71,6 +71,7 @@ files:
71
71
  - Rakefile
72
72
  - lib/nineflats-api.rb
73
73
  - lib/nineflats-api/base.rb
74
+ - lib/nineflats-api/booking.rb
74
75
  - lib/nineflats-api/calendar.rb
75
76
  - lib/nineflats-api/client.rb
76
77
  - lib/nineflats-api/errors.rb
@@ -86,6 +87,7 @@ files:
86
87
  - lib/nineflats-api/user.rb
87
88
  - lib/nineflats-api/version.rb
88
89
  - nineflats-api.gemspec
90
+ - spec/client_spec.rb
89
91
  - spec/fixtures.rb
90
92
  - spec/fixtures/place.json
91
93
  - spec/fixtures/place_calendar.json
@@ -94,6 +96,7 @@ files:
94
96
  - spec/fixtures/place_reviews.json
95
97
  - spec/fixtures/search_result.json
96
98
  - spec/fixtures/user.json
99
+ - spec/fixtures/user_bookings.json
97
100
  - spec/fixtures/user_favorites.json
98
101
  - spec/place_calendar_spec.rb
99
102
  - spec/place_photos_spec.rb
@@ -118,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
118
121
  version: '0'
119
122
  segments:
120
123
  - 0
121
- hash: 1763495579460622571
124
+ hash: -1190477784419182226
122
125
  required_rubygems_version: !ruby/object:Gem::Requirement
123
126
  none: false
124
127
  requirements:
@@ -127,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
130
  version: '0'
128
131
  segments:
129
132
  - 0
130
- hash: 1763495579460622571
133
+ hash: -1190477784419182226
131
134
  requirements: []
132
135
  rubyforge_project:
133
136
  rubygems_version: 1.6.2
@@ -135,6 +138,7 @@ signing_key:
135
138
  specification_version: 3
136
139
  summary: 9flats API
137
140
  test_files:
141
+ - spec/client_spec.rb
138
142
  - spec/fixtures.rb
139
143
  - spec/fixtures/place.json
140
144
  - spec/fixtures/place_calendar.json
@@ -143,6 +147,7 @@ test_files:
143
147
  - spec/fixtures/place_reviews.json
144
148
  - spec/fixtures/search_result.json
145
149
  - spec/fixtures/user.json
150
+ - spec/fixtures/user_bookings.json
146
151
  - spec/fixtures/user_favorites.json
147
152
  - spec/place_calendar_spec.rb
148
153
  - spec/place_photos_spec.rb