foursquare2 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,65 @@
1
+ require 'helper'
2
+
3
+ class TestLists < Test::Unit::TestCase
4
+
5
+ context "When using the foursquare API and working with lists" do
6
+ setup do
7
+ @client = foursquare_test_client
8
+ @list_id = '4f230d90e4b0b653a21ffd0d'
9
+ end
10
+
11
+ should "fetch info for a single list" do
12
+ stub_get("https://api.foursquare.com/v2/lists/#{@list_id}?oauth_token=#{@client.oauth_token}", "list.json")
13
+ list = @client.list(@list_id)
14
+ list.name.should == 'Restaurants to Try'
15
+ list.venueCount.should == 8
16
+ end
17
+
18
+ should "add a list" do
19
+ stub_post("https://api.foursquare.com/v2/lists/add?oauth_token=#{@client.oauth_token}&name=Ramen+Spots", "list_created.json")
20
+ list = @client.add_list(:name => "Ramen Spots")
21
+ list.name.should == "Ramen Spots"
22
+ end
23
+
24
+ should "follow a list" do
25
+ stub_post("https://api.foursquare.com/v2/lists/#{@list_id}/follow?oauth_token=#{@client.oauth_token}", "list_followed.json")
26
+ list = @client.follow_list(@list_id)
27
+ list.following.should == true
28
+ end
29
+
30
+ should "unfollow a list" do
31
+ stub_post("https://api.foursquare.com/v2/lists/#{@list_id}/unfollow?oauth_token=#{@client.oauth_token}", "list.json")
32
+ list = @client.unfollow_list(@list_id)
33
+ list.following.should == false
34
+ end
35
+
36
+ should "update a list" do
37
+ stub_post("https://api.foursquare.com/v2/lists/#{@list_id}/update?oauth_token=#{@client.oauth_token}&name=Ramen+Sports", "list_updated.json")
38
+ list = @client.update_list(@list_id, :name => "Ramen Sports")
39
+ list.name.should == "Ramen Sports"
40
+ end
41
+
42
+ should "add an item to a list" do
43
+ venue_id = '4ba19cb0f964a520c2c337e3'
44
+ stub_post("https://api.foursquare.com/v2/lists/#{@list_id}/additem?oauth_token=#{@client.oauth_token}&venueId=#{venue_id}", "list_item.json")
45
+ item = @client.add_list_item(@list_id, :venueId => venue_id)
46
+ item.venue.id.should == venue_id
47
+ end
48
+
49
+ should "delete an item from a list" do
50
+ item_id = 'v4ba19cb0f964a520c2c337e3'
51
+ stub_post("https://api.foursquare.com/v2/lists/#{@list_id}/deleteitem?oauth_token=#{@client.oauth_token}&itemId=#{item_id}", "list_item.json")
52
+ item = @client.delete_list_item(@list_id, item_id)
53
+ item.id.should == item_id
54
+ end
55
+
56
+ should "move an item on a list" do
57
+ item_id = 't4d404fc934f42d43b2624385'
58
+ before_id = 'v4a01c477f964a520f9701fe3'
59
+ stub_post("https://api.foursquare.com/v2/lists/#{@list_id}/moveitem?oauth_token=#{@client.oauth_token}&itemId=#{item_id}&beforeId=#{before_id}", "list_moved_item.json")
60
+ list = @client.move_list_item(@list_id, item_id, :beforeId => before_id)
61
+ list.listItems.items[0].id.should == item_id
62
+ list.listItems.items[1].id.should == before_id
63
+ end
64
+ end
65
+ end
@@ -25,13 +25,19 @@ class TestUsers < Test::Unit::TestCase
25
25
  stub_get("https://api.foursquare.com/v2/users/self/tips?oauth_token=#{@client.oauth_token}", "user_tips.json")
26
26
  tips = @client.user_tips('self')
27
27
  tips.items.first.text.should == "Encontrei mesas e chao sujos."
28
- tips.items.size.should == 12
28
+ tips.items.size.should == 12
29
29
  end
30
30
 
31
31
  should "fetch tips and filter with term #{QUERY}" do
32
32
  stub_get("https://api.foursquare.com/v2/users/self/tips?oauth_token=#{@client.oauth_token}&query=#{QUERY}", "user_tips.json")
33
33
  tips = @client.user_tips('self', {:query => QUERY})
34
- tips.items.size.should == 1
34
+ tips.items.size.should == 1
35
+ end
36
+
37
+ should "fetch lists for a single user" do
38
+ stub_get("https://api.foursquare.com/v2/users/self/lists?oauth_token=#{@client.oauth_token}", "user_lists.json")
39
+ lists = @client.user_lists('self')
40
+ lists.items.size.should == 21
35
41
  end
36
42
 
37
43
  #TODO refactoring all call to method stub_get
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foursquare2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-07-08 00:00:00.000000000Z
13
+ date: 2012-07-22 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
17
- requirement: &70120923893680 !ruby/object:Gem::Requirement
17
+ requirement: &70215631196980 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0.8'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70120923893680
25
+ version_requirements: *70215631196980
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: faraday_middleware
28
- requirement: &70120923880880 !ruby/object:Gem::Requirement
28
+ requirement: &70215631193980 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0.8'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70120923880880
36
+ version_requirements: *70215631193980
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: hashie
39
- requirement: &70120923869540 !ruby/object:Gem::Requirement
39
+ requirement: &70215631187100 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '1.0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70120923869540
47
+ version_requirements: *70215631187100
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: awesome_print
50
- requirement: &70120923858740 !ruby/object:Gem::Requirement
50
+ requirement: &70215631181060 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *70120923858740
58
+ version_requirements: *70215631181060
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: shoulda
61
- requirement: &70120923854980 !ruby/object:Gem::Requirement
61
+ requirement: &70215631173680 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70120923854980
69
+ version_requirements: *70215631173680
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: bundler
72
- requirement: &70120923848180 !ruby/object:Gem::Requirement
72
+ requirement: &70215631252540 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '1.0'
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *70120923848180
80
+ version_requirements: *70215631252540
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: jeweler
83
- requirement: &70120923844180 !ruby/object:Gem::Requirement
83
+ requirement: &70215639898860 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '1.5'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *70120923844180
91
+ version_requirements: *70215639898860
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: rcov
94
- requirement: &70120923841120 !ruby/object:Gem::Requirement
94
+ requirement: &70215640489100 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *70120923841120
102
+ version_requirements: *70215640489100
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: fakeweb
105
- requirement: &70120923838680 !ruby/object:Gem::Requirement
105
+ requirement: &70215640804220 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '1.3'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *70120923838680
113
+ version_requirements: *70215640804220
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: jnunemaker-matchy
116
- requirement: &70120923836120 !ruby/object:Gem::Requirement
116
+ requirement: &70215641074800 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: '0.4'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *70120923836120
124
+ version_requirements: *70215641074800
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: json_pure
127
- requirement: &70120923833420 !ruby/object:Gem::Requirement
127
+ requirement: &70215641073740 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ~>
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '1.4'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *70120923833420
135
+ version_requirements: *70215641073740
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: multi_json
138
- requirement: &70120923831160 !ruby/object:Gem::Requirement
138
+ requirement: &70215641072600 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - <
@@ -146,7 +146,7 @@ dependencies:
146
146
  version: 0.0.5
147
147
  type: :development
148
148
  prerelease: false
149
- version_requirements: *70120923831160
149
+ version_requirements: *70215641072600
150
150
  description: Gives access to all endpoints in version 2 of foursquare's API with syntax
151
151
  that will be familiar to those who used the original foursquare gem by Jeremy Welch.
152
152
  email:
@@ -170,6 +170,7 @@ files:
170
170
  - lib/foursquare2/campaigns.rb
171
171
  - lib/foursquare2/checkins.rb
172
172
  - lib/foursquare2/client.rb
173
+ - lib/foursquare2/lists.rb
173
174
  - lib/foursquare2/pages.rb
174
175
  - lib/foursquare2/photos.rb
175
176
  - lib/foursquare2/settings.rb
@@ -183,6 +184,12 @@ files:
183
184
  - test/fixtures/error.json
184
185
  - test/fixtures/explore_venues.json
185
186
  - test/fixtures/friend_checkins.json
187
+ - test/fixtures/list.json
188
+ - test/fixtures/list_created.json
189
+ - test/fixtures/list_followed.json
190
+ - test/fixtures/list_item.json
191
+ - test/fixtures/list_moved_item.json
192
+ - test/fixtures/list_updated.json
186
193
  - test/fixtures/managed_venues.json
187
194
  - test/fixtures/no_venues_by_tip.json
188
195
  - test/fixtures/page.json
@@ -199,6 +206,7 @@ files:
199
206
  - test/fixtures/suggest_completion_venues.json
200
207
  - test/fixtures/tip.json
201
208
  - test/fixtures/user.json
209
+ - test/fixtures/user_lists.json
202
210
  - test/fixtures/user_mayorships.json
203
211
  - test/fixtures/user_tips.json
204
212
  - test/fixtures/user_tips_empty.json
@@ -211,6 +219,7 @@ files:
211
219
  - test/test_campaigns.rb
212
220
  - test/test_checkins.rb
213
221
  - test/test_client.rb
222
+ - test/test_lists.rb
214
223
  - test/test_pages.rb
215
224
  - test/test_photos.rb
216
225
  - test/test_specials.rb
@@ -232,7 +241,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
232
241
  version: '0'
233
242
  segments:
234
243
  - 0
235
- hash: -1741211467567860950
244
+ hash: -1840967499921104058
236
245
  required_rubygems_version: !ruby/object:Gem::Requirement
237
246
  none: false
238
247
  requirements: