fourmer 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,47 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestVenueGroups < Test::Unit::TestCase
4
+ def setup
5
+ @consumer = Foursquare::Merchant::Consumer.new('TOKEN')
6
+ end
7
+
8
+ def test_initialize
9
+ venue_groups_proxy = Foursquare::Merchant::VenueGroups.new(@consumer)
10
+ assert_instance_of(Foursquare::Merchant::VenueGroups, venue_groups_proxy)
11
+ end
12
+
13
+ def test_find
14
+ response = stub(:parsed_response => {
15
+ 'meta' => {'code' => 200},
16
+ 'response' => {'venueGroup' => {'id' => 'abcdef'}}
17
+ }
18
+ )
19
+ Foursquare::Merchant::VenueGroups.stubs(:get).returns(response)
20
+ assert_equal('abcdef', @consumer.venue_groups.find('abcdef').id)
21
+ end
22
+
23
+ def test_add
24
+ response = stub(:parsed_response => {
25
+ 'meta' => {'code' => 200},
26
+ 'response' => {'venueGroup' => {'id' => 'abcdef'}}
27
+ }
28
+ )
29
+ Foursquare::Merchant::VenueGroups.stubs(:post).returns(response)
30
+ assert_equal('abcdef', @consumer.venue_groups.add('abcdef').id)
31
+ end
32
+
33
+ def test_list
34
+ items = [{'id' => 'abcdef'}, {'id' => 'fedcba'}]
35
+ response = stub(:parsed_response => {
36
+ 'meta' => {'code' => 200},
37
+ 'response' => {'venueGroups' => {'count' => 2, 'items' => items}}
38
+ }
39
+ )
40
+ Foursquare::Merchant::VenueGroups.stubs(:get).returns(response)
41
+ venue_groups = [Foursquare::Merchant::VenueGroup.new(items[0], @consumer),
42
+ Foursquare::Merchant::VenueGroup.new(items[1], @consumer)]
43
+
44
+ assert_equal(venue_groups, @consumer.venue_groups.list)
45
+ end
46
+
47
+ end
@@ -0,0 +1,11 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestVenueStats < Test::Unit::TestCase
4
+
5
+ def test_initialize
6
+ stats = Foursquare::Merchant::VenueStats.new({'sharing' => {"twitter"=>233, "facebook"=>203}})
7
+ assert_kind_of(Hashie::Trash, stats)
8
+ assert_equal({"twitter"=>233, "facebook"=>203}, stats.sharing)
9
+ end
10
+
11
+ end
@@ -0,0 +1,66 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestVenues < Test::Unit::TestCase
4
+ def setup
5
+ @consumer = Foursquare::Merchant::Consumer.new('TOKEN')
6
+ end
7
+
8
+ def test_initialize
9
+ venues_proxy = Foursquare::Merchant::Venues.new(@consumer)
10
+ assert_instance_of(Foursquare::Merchant::Venues, venues_proxy)
11
+ end
12
+
13
+ def test_find
14
+ response = stub(:parsed_response => {
15
+ 'meta' => {'code' => 200},
16
+ 'response' => {'venue' => {'id' => 'abcdef'}}
17
+ }
18
+ )
19
+ Foursquare::Merchant::Venues.stubs(:get).returns(response)
20
+ assert_equal('abcdef', @consumer.venues.find('abcdef').id)
21
+ end
22
+
23
+ def test_managed
24
+ response = stub(:parsed_response => {
25
+ 'meta' => {'code' => 200},
26
+ 'response' => {'venues' => [{'id' => 'abcdef'}]}
27
+ }
28
+ )
29
+ venue = Foursquare::Merchant::Venue.new({'id' => 'abcdef'}, @consumer)
30
+ Foursquare::Merchant::Venues.stubs(:get).returns(response)
31
+ assert_equal([venue], @consumer.venues.managed)
32
+ end
33
+
34
+ def test_timeseries
35
+ response = stub(:parsed_response => {
36
+ 'meta' => {'code' => 200},
37
+ 'response' => {'timeseries' => [{'venueId' => 'abcdef'}]}
38
+ }
39
+ )
40
+ ts = Foursquare::Merchant::TimeSeries.new({:venueId => 'abcdef'})
41
+ Foursquare::Merchant::Venues.stubs(:get).returns(response)
42
+ assert_equal([ts], @consumer.venues.timeseries('abcdef'))
43
+ end
44
+
45
+ def test_search_no_lat_long
46
+ response = stub(:parsed_response => {
47
+ 'meta' => {'code' => 200},
48
+ 'response' => {'venues' => [{'id' => 'abcdef'}]}
49
+ }
50
+ )
51
+ Foursquare::Merchant::Venues.stubs(:get).returns(response)
52
+ assert_raise(RuntimeError) { @consumer.venues.search({}) }
53
+ end
54
+
55
+ def test_search_with_lat_long
56
+ response = stub(:parsed_response => {
57
+ 'meta' => {'code' => 200},
58
+ 'response' => {'groups' => [{'items' => [{'id' => 'abcdef'}]}]}
59
+ }
60
+ )
61
+ venue = Foursquare::Merchant::Venue.new({'id' => 'abcdef'}, @consumer)
62
+ Foursquare::Merchant::Venues.stubs(:get).returns(response)
63
+ assert_equal([venue], @consumer.venues.search({:ll => '20.2,-110.1'}))
64
+ end
65
+
66
+ end
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fourmer
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Tim Olshansky
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-10-06 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httparty
16
+ requirement: &2151863920 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2151863920
25
+ - !ruby/object:Gem::Dependency
26
+ name: hashie
27
+ requirement: &2151862380 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 1.1.0
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2151862380
36
+ - !ruby/object:Gem::Dependency
37
+ name: mocha
38
+ requirement: &2151861000 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2151861000
47
+ - !ruby/object:Gem::Dependency
48
+ name: shoulda
49
+ requirement: &2151859340 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *2151859340
58
+ - !ruby/object:Gem::Dependency
59
+ name: bundler
60
+ requirement: &2151857600 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 1.0.0
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *2151857600
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: &2151856120 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 1.6.4
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *2151856120
80
+ - !ruby/object:Gem::Dependency
81
+ name: rcov
82
+ requirement: &2151854880 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *2151854880
91
+ description: An easy to use library for interacting with the Foursquare Merchant API
92
+ email: tim.olshansky@gmail.com
93
+ executables: []
94
+ extensions: []
95
+ extra_rdoc_files:
96
+ - LICENSE.txt
97
+ - README.md
98
+ files:
99
+ - .autotest
100
+ - .document
101
+ - Gemfile
102
+ - LICENSE.txt
103
+ - README.md
104
+ - Rakefile
105
+ - VERSION
106
+ - lib/fourmer.rb
107
+ - lib/foursquare/base.rb
108
+ - lib/foursquare/campaign.rb
109
+ - lib/foursquare/campaigns.rb
110
+ - lib/foursquare/consumer.rb
111
+ - lib/foursquare/errors.rb
112
+ - lib/foursquare/model.rb
113
+ - lib/foursquare/requests.rb
114
+ - lib/foursquare/special.rb
115
+ - lib/foursquare/specials.rb
116
+ - lib/foursquare/timeseries.rb
117
+ - lib/foursquare/venue.rb
118
+ - lib/foursquare/venue_group.rb
119
+ - lib/foursquare/venue_groups.rb
120
+ - lib/foursquare/venue_stats.rb
121
+ - lib/foursquare/venues.rb
122
+ - test/helper.rb
123
+ - test/test_base.rb
124
+ - test/test_campaign.rb
125
+ - test/test_campaigns.rb
126
+ - test/test_consumer.rb
127
+ - test/test_errors.rb
128
+ - test/test_fourmer.rb
129
+ - test/test_model.rb
130
+ - test/test_special.rb
131
+ - test/test_specials.rb
132
+ - test/test_timeseries.rb
133
+ - test/test_venue.rb
134
+ - test/test_venue_group.rb
135
+ - test/test_venue_groups.rb
136
+ - test/test_venue_stats.rb
137
+ - test/test_venues.rb
138
+ homepage: http://github.com/timols/fourmer
139
+ licenses:
140
+ - MIT
141
+ post_install_message:
142
+ rdoc_options: []
143
+ require_paths:
144
+ - lib
145
+ required_ruby_version: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ segments:
152
+ - 0
153
+ hash: -3514382456523035640
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ requirements: []
161
+ rubyforge_project:
162
+ rubygems_version: 1.8.6
163
+ signing_key:
164
+ specification_version: 3
165
+ summary: An unofficial wrapper for the Foursquare Merchant API
166
+ test_files: []