foursquare2 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/foursquare2.gemspec +11 -2
- data/lib/foursquare2.rb +3 -2
- data/lib/foursquare2/client.rb +1 -0
- data/lib/foursquare2/lists.rb +113 -0
- data/lib/foursquare2/users.rb +19 -5
- data/test/fixtures/list.json +1379 -0
- data/test/fixtures/list_created.json +12 -0
- data/test/fixtures/list_followed.json +1371 -0
- data/test/fixtures/list_item.json +109 -0
- data/test/fixtures/list_moved_item.json +1379 -0
- data/test/fixtures/list_updated.json +12 -0
- data/test/fixtures/user_lists.json +1025 -0
- data/test/test_lists.rb +65 -0
- data/test/test_users.rb +8 -2
- metadata +36 -27
data/test/test_lists.rb
ADDED
@@ -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
|
data/test/test_users.rb
CHANGED
@@ -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.
|
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-
|
13
|
+
date: 2012-07-22 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: faraday
|
17
|
-
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: *
|
25
|
+
version_requirements: *70215631196980
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: faraday_middleware
|
28
|
-
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: *
|
36
|
+
version_requirements: *70215631193980
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: hashie
|
39
|
-
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: *
|
47
|
+
version_requirements: *70215631187100
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: awesome_print
|
50
|
-
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: *
|
58
|
+
version_requirements: *70215631181060
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: shoulda
|
61
|
-
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: *
|
69
|
+
version_requirements: *70215631173680
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: bundler
|
72
|
-
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: *
|
80
|
+
version_requirements: *70215631252540
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: jeweler
|
83
|
-
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: *
|
91
|
+
version_requirements: *70215639898860
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: rcov
|
94
|
-
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: *
|
102
|
+
version_requirements: *70215640489100
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: fakeweb
|
105
|
-
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: *
|
113
|
+
version_requirements: *70215640804220
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: jnunemaker-matchy
|
116
|
-
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: *
|
124
|
+
version_requirements: *70215641074800
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: json_pure
|
127
|
-
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: *
|
135
|
+
version_requirements: *70215641073740
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: multi_json
|
138
|
-
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: *
|
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: -
|
244
|
+
hash: -1840967499921104058
|
236
245
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
237
246
|
none: false
|
238
247
|
requirements:
|