access 2.0.48 → 2.0.49

Sign up to get free protection for your applications and to get access to all the features.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/.env.sample +8 -0
  3. data/.gitignore +1 -0
  4. data/Gemfile.lock +3 -1
  5. data/README.md +4 -0
  6. data/access.gemspec +1 -0
  7. data/bin/console +2 -1
  8. data/lib/access/api.rb +4 -4
  9. data/lib/access/favorite.rb +2 -2
  10. data/lib/access/version.rb +1 -1
  11. data/test/access/autocomplete_test.rb +5 -5
  12. data/test/access/campaign_test.rb +3 -3
  13. data/test/access/category_test.rb +5 -5
  14. data/test/access/channel_test.rb +6 -6
  15. data/test/access/device_test.rb +4 -4
  16. data/test/access/favorite_test.rb +61 -54
  17. data/test/access/filter_test.rb +3 -3
  18. data/test/access/location_test.rb +4 -4
  19. data/test/access/member_test.rb +3 -3
  20. data/test/access/oauth_application_test.rb +6 -7
  21. data/test/access/offer_test.rb +9 -9
  22. data/test/access/redeem_test.rb +3 -3
  23. data/test/access/redemption_test.rb +4 -5
  24. data/test/access/report_test.rb +14 -14
  25. data/test/access/spot_test.rb +4 -4
  26. data/test/access/store_test.rb +5 -5
  27. data/test/access/token_test.rb +3 -3
  28. data/test/access/user_test.rb +19 -15
  29. data/test/access/verify_test.rb +2 -2
  30. data/test/test_helper.rb +6 -3
  31. data/test/vcr/cassettes/{autocomplete_search_categories.yml → autocomplete/search_categories.yml} +8 -8
  32. data/test/vcr/cassettes/autocomplete/search_first.yml +94 -0
  33. data/test/vcr/cassettes/autocomplete/search_locations.yml +71 -0
  34. data/test/vcr/cassettes/{autocomplete_search_offers.yml → autocomplete/search_offers.yml} +10 -10
  35. data/test/vcr/cassettes/{autocomplete_search_stores.yml → autocomplete/search_stores.yml} +11 -11
  36. data/test/vcr/cassettes/campaign/search.yml +1021 -0
  37. data/test/vcr/cassettes/{category_find.yml → category/find.yml} +29 -29
  38. data/test/vcr/cassettes/category/search.yml +1588 -0
  39. data/test/vcr/cassettes/{location_search_fail_member_key.yml → category/search_fail_member_key.yml} +6 -6
  40. data/test/vcr/cassettes/{category_search.yml → category/search_first.yml} +739 -787
  41. data/test/vcr/cassettes/{subcategory_find.yml → category/subcategory_find.yml} +28 -28
  42. data/test/vcr/cassettes/{channel_search.yml → channel/search.yml} +3 -3
  43. data/test/vcr/cassettes/favorite/create_generic_with_offer.yml +126 -0
  44. data/test/vcr/cassettes/{favorite_create_offer.yml → favorite/create_location.yml} +7 -7
  45. data/test/vcr/cassettes/favorite/create_offer.yml +126 -0
  46. data/test/vcr/cassettes/favorite/create_store.yml +94 -0
  47. data/test/vcr/cassettes/favorite/delete_generic_with_offer.yml +171 -0
  48. data/test/vcr/cassettes/favorite/delete_location.yml +203 -0
  49. data/test/vcr/cassettes/favorite/delete_offer.yml +294 -0
  50. data/test/vcr/cassettes/favorite/delete_store.yml +258 -0
  51. data/test/vcr/cassettes/favorite/find_generic_with_offer.yml +323 -0
  52. data/test/vcr/cassettes/favorite/find_location.yml +158 -0
  53. data/test/vcr/cassettes/favorite/find_offer.yml +323 -0
  54. data/test/vcr/cassettes/favorite/find_store.yml +213 -0
  55. data/test/vcr/cassettes/{favorite_one_of_everything.yml → favorite/one_of_everything.yml} +181 -58
  56. data/test/vcr/cassettes/favorite/search.yml +346 -0
  57. data/test/vcr/cassettes/favorite/search_bad_member.yml +66 -0
  58. data/test/vcr/cassettes/favorite/search_locations.yml +113 -0
  59. data/test/vcr/cassettes/favorite/search_no_favorites.yml +66 -0
  60. data/test/vcr/cassettes/favorite/search_offers.yml +200 -0
  61. data/test/vcr/cassettes/favorite/search_stores.yml +178 -0
  62. data/test/vcr/cassettes/filter/find.yml +66 -0
  63. data/test/vcr/cassettes/{filter_search.yml → filter/search.yml} +12 -12
  64. data/test/vcr/cassettes/filter/search_first.yml +75 -0
  65. data/test/vcr/cassettes/location/find.yml +680 -0
  66. data/test/vcr/cassettes/location/search.yml +123 -0
  67. data/test/vcr/cassettes/{category_search_fail_member_key.yml → location/search_fail_member_key.yml} +6 -6
  68. data/test/vcr/cassettes/location/search_first.yml +123 -0
  69. data/test/vcr/cassettes/{member_show_failure.yml → member/show_failure.yml} +3 -3
  70. data/test/vcr/cassettes/{member_show_success.yml → member/show_success.yml} +5 -5
  71. data/test/vcr/cassettes/{favorite_delete_generic_with_offer.yml → member/update_success.yml} +7 -7
  72. data/test/vcr/cassettes/{member_authenticate_cvt_failure.yml → member_authenticate/cvt_failure.yml} +4 -4
  73. data/test/vcr/cassettes/{member_authenticate_cvt_success.yml → member_authenticate/cvt_success.yml} +6 -6
  74. data/test/vcr/cassettes/{member_authenticate_failure.yml → member_authenticate/failure.yml} +4 -4
  75. data/test/vcr/cassettes/{member_authenticate_member_key_failure.yml → member_authenticate/member_key_failure.yml} +3 -3
  76. data/test/vcr/cassettes/{member_authenticate_member_key_success.yml → member_authenticate/member_key_success.yml} +3 -3
  77. data/test/vcr/cassettes/{member_authenticate_success.yml → member_authenticate/success.yml} +5 -5
  78. data/test/vcr/cassettes/{member_device_search_failure.yml → member_device/search_failure.yml} +3 -3
  79. data/test/vcr/cassettes/member_device/search_success.yml +63 -0
  80. data/test/vcr/cassettes/{oauth_application_find.yml → oauth_application/find.yml} +19 -15
  81. data/test/vcr/cassettes/{oauth_application_search.yml → oauth_application/search.yml} +23 -19
  82. data/test/vcr/cassettes/oauth_application/search_oauth_first.yml +95 -0
  83. data/test/vcr/cassettes/oauth_application/token_find.yml +95 -0
  84. data/test/vcr/cassettes/oauth_application/token_search.yml +720 -0
  85. data/test/vcr/cassettes/oauth_application/token_search_tokens_first.yml +242 -0
  86. data/test/vcr/cassettes/offer/find.yml +158 -0
  87. data/test/vcr/cassettes/{offer_find_uses_remaining.yml → offer/find_uses_remaining.yml} +10 -10
  88. data/test/vcr/cassettes/offer/find_with_offer_uses_remaining.yml +158 -0
  89. data/test/vcr/cassettes/offer/search.yml +159 -0
  90. data/test/vcr/cassettes/{offer_search_fail_member_key.yml → offer/search_fail_member_key.yml} +6 -6
  91. data/test/vcr/cassettes/offer/search_first.yml +159 -0
  92. data/test/vcr/cassettes/offer/search_for_redeem.yml +159 -0
  93. data/test/vcr/cassettes/offer/with_aggregations.yml +1046 -0
  94. data/test/vcr/cassettes/redeem/offer_no_redeem_type.yml +36 -0
  95. data/test/vcr/cassettes/redeem/offer_with_redeem_type.yml +36 -0
  96. data/test/vcr/cassettes/redeem/redeem_offer_with_redeem_type_for_uses_remaining_test.yml +36 -0
  97. data/test/vcr/cassettes/redemption/find_by_member_key.yml +133 -0
  98. data/test/vcr/cassettes/redemption/search_by_member_key.yml +495 -0
  99. data/test/vcr/cassettes/redemption/search_by_member_key_first.yml +495 -0
  100. data/test/vcr/cassettes/{search_redemption_by_member_key_without_redemptions.yml → redemption/search_by_member_key_without_redemptions.yml} +6 -6
  101. data/test/vcr/cassettes/report/all_usage.yml +156 -0
  102. data/test/vcr/cassettes/{member_location_frequent.yml → report/member_location_frequent.yml} +6 -10
  103. data/test/vcr/cassettes/{member_location_recent.yml → report/member_location_recent.yml} +6 -6
  104. data/test/vcr/cassettes/{member_query_frequent.yml → report/member_query_frequent.yml} +6 -6
  105. data/test/vcr/cassettes/{member_query_recent.yml → report/member_query_recent.yml} +6 -6
  106. data/test/vcr/cassettes/report/usage.yml +156 -0
  107. data/test/vcr/cassettes/report/usage_other.yml +156 -0
  108. data/test/vcr/cassettes/{spot_find.yml → spot/find.yml} +3 -3
  109. data/test/vcr/cassettes/spot/search_by_campaign.yml +2727 -0
  110. data/test/vcr/cassettes/spot/search_by_channel.yml +956 -0
  111. data/test/vcr/cassettes/spot/search_by_channel_first.yml +956 -0
  112. data/test/vcr/cassettes/{store_find.yml → store/find.yml} +17 -17
  113. data/test/vcr/cassettes/store/national_stores.yml +3057 -0
  114. data/test/vcr/cassettes/{store_search.yml → store/search.yml} +21 -21
  115. data/test/vcr/cassettes/{store_search_fail_member_key.yml → store/search_fail_member_key.yml} +6 -6
  116. data/test/vcr/cassettes/store/search_first.yml +95 -0
  117. data/test/vcr/cassettes/token/find.yml +107 -0
  118. data/test/vcr/cassettes/token/get_first_token.yml +121 -0
  119. data/test/vcr/cassettes/token/search.yml +121 -0
  120. data/test/vcr/cassettes/{user_register_failure.yml → user_register/failure.yml} +4 -4
  121. data/test/vcr/cassettes/user_register/success.yml +101 -0
  122. data/test/vcr/cassettes/{user_update_success.yml → user_update/success.yml} +8 -6
  123. data/test/vcr/cassettes/{verify_filter.yml → verify/filter.yml} +41 -124
  124. data/test/vcr/cassettes/{verify_token.yml → verify/token.yml} +14 -11
  125. metadata +205 -174
  126. data/test/vcr/cassettes/all_usage.yml +0 -84
  127. data/test/vcr/cassettes/autocomplete_search.yml +0 -84
  128. data/test/vcr/cassettes/autocomplete_search_locations.yml +0 -66
  129. data/test/vcr/cassettes/campaign_find.yml +0 -232
  130. data/test/vcr/cassettes/campaign_search.yml +0 -1258
  131. data/test/vcr/cassettes/channel_find.yml +0 -57
  132. data/test/vcr/cassettes/favorite_create_generic_with_offer.yml +0 -93
  133. data/test/vcr/cassettes/favorite_create_location.yml +0 -91
  134. data/test/vcr/cassettes/favorite_create_store.yml +0 -92
  135. data/test/vcr/cassettes/favorite_delete_location.yml +0 -94
  136. data/test/vcr/cassettes/favorite_delete_offer.yml +0 -93
  137. data/test/vcr/cassettes/favorite_delete_store.yml +0 -94
  138. data/test/vcr/cassettes/favorite_find_generic_with_offer.yml +0 -93
  139. data/test/vcr/cassettes/favorite_find_location.yml +0 -179
  140. data/test/vcr/cassettes/favorite_find_offer.yml +0 -93
  141. data/test/vcr/cassettes/favorite_find_store.yml +0 -181
  142. data/test/vcr/cassettes/favorite_search.yml +0 -131
  143. data/test/vcr/cassettes/favorite_search_bad_member.yml +0 -49
  144. data/test/vcr/cassettes/favorite_search_locations.yml +0 -99
  145. data/test/vcr/cassettes/favorite_search_no_favorites.yml +0 -49
  146. data/test/vcr/cassettes/favorite_search_offers.yml +0 -169
  147. data/test/vcr/cassettes/favorite_search_stores.yml +0 -92
  148. data/test/vcr/cassettes/filter_find.yml +0 -174
  149. data/test/vcr/cassettes/find_redemption_by_member_key.yml +0 -131
  150. data/test/vcr/cassettes/location_find.yml +0 -505
  151. data/test/vcr/cassettes/location_search.yml +0 -123
  152. data/test/vcr/cassettes/member_device_search_success.yml +0 -48
  153. data/test/vcr/cassettes/member_update_success.yml +0 -183
  154. data/test/vcr/cassettes/national_stores.yml +0 -1914
  155. data/test/vcr/cassettes/oauth_application_token_find.yml +0 -92
  156. data/test/vcr/cassettes/oauth_application_token_search.yml +0 -95
  157. data/test/vcr/cassettes/offer_find.yml +0 -149
  158. data/test/vcr/cassettes/offer_find_with_offer_uses_remaining.yml +0 -149
  159. data/test/vcr/cassettes/offer_search.yml +0 -148
  160. data/test/vcr/cassettes/offer_with_aggregations.yml +0 -934
  161. data/test/vcr/cassettes/redeem_offer_no_redeem_type.yml +0 -38
  162. data/test/vcr/cassettes/redeem_offer_with_redeem_type.yml +0 -38
  163. data/test/vcr/cassettes/redeem_offer_with_redeem_type_for_uses_remaining_test.yml +0 -38
  164. data/test/vcr/cassettes/search_redemption_by_member_key.yml +0 -762
  165. data/test/vcr/cassettes/spot_search_by_campaign.yml +0 -2954
  166. data/test/vcr/cassettes/spot_search_by_channel.yml +0 -1192
  167. data/test/vcr/cassettes/token_find.yml +0 -99
  168. data/test/vcr/cassettes/token_get_first_token.yml +0 -113
  169. data/test/vcr/cassettes/token_search.yml +0 -113
  170. data/test/vcr/cassettes/usage.yml +0 -84
  171. data/test/vcr/cassettes/usage_other.yml +0 -84
  172. data/test/vcr/cassettes/user_register_success.yml +0 -50
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 737716e2a71b0455d12238dc54700e6f3e4232e4
4
- data.tar.gz: 971e58bbf7d2a4b3ba156af9697bfcf0bb4de4e8
3
+ metadata.gz: 28c658968f7aed7074f50c1f9712b07be7d94373
4
+ data.tar.gz: 0850ae0bcda8af6d01dc9f5e85fe1dede1e4c2fb
5
5
  SHA512:
6
- metadata.gz: 6bfe2610cb3a34e35fd1ae0e29e16ca586dff2b5a969c254d7a83d63afe5f8b342559fc87df13572ecca16edb01047e652993782916e0eae07d2a0b5fea5b439
7
- data.tar.gz: 8cfd9013f881ccb0597ebddeb1812c88453af1f91be59e3a34ea4990a0418bb6da02b947d0a7baa5f1191796e98c22494c0ca168bb63a0b1b8acfa12f0176fac
6
+ metadata.gz: 21ae743167223044c25ab811350f3f386c038582ecebf8d9acf618d4edd7b7ca0c8f4d66b2804290c708a3bb93aa5bb30bc51085e38bda460ec2d24217f4ddbb
7
+ data.tar.gz: dc959528e17003912c40d423b55d97668657526a307624aefeec5dc374b95d91f1a2173d54cd605dd1348272602d4a8bce57590a1fabb29ee7f8d3335c579df7
data/.env.sample ADDED
@@ -0,0 +1,8 @@
1
+ ACCESS_TOKEN="**your_access_token**"
2
+ TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS="**for tests if you know this token or just don't re-record these test**"
3
+ ACCESS_ENVIRONMENT="stage|demo|production default demo"
4
+ ACCESS_RETURN_JSON="true|false default false"
5
+ ACCESS_HASHIFY="true|false default false"
6
+ ACCESS_TIMEOUT="integer default 10"
7
+ ACCESS_DEBUG_OUTPUT="true|false default false"
8
+ RECORD="For Tests set to new_episodes, none or all default new_episodes"
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ mkmf.log
15
15
  *.sublime-workspace
16
16
 
17
17
  .DS_Store
18
+ .env
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- access (2.0.48)
4
+ access (2.0.49)
5
5
  hashie (~> 3.3.1)
6
6
  httparty (~> 0.13.3)
7
7
 
@@ -22,6 +22,7 @@ GEM
22
22
  docile (1.1.5)
23
23
  domain_name (0.5.20160128)
24
24
  unf (>= 0.0.5, < 1.0.0)
25
+ dotenv (2.1.0)
25
26
  ffi (1.9.10)
26
27
  formatador (0.2.5)
27
28
  guard (2.13.0)
@@ -100,6 +101,7 @@ DEPENDENCIES
100
101
  access!
101
102
  bundler (~> 1.7)
102
103
  coveralls
104
+ dotenv
103
105
  guard
104
106
  guard-minitest
105
107
  minitest
data/README.md CHANGED
@@ -279,6 +279,10 @@ Access::OauthApplication.delete **application_id**, options
279
279
 
280
280
  `ACCESS_TOKEN=*your-access-token** guard`
281
281
 
282
+ or add your environment variables to a `.env` file and run the test simply with `rake` or `guard`
283
+
282
284
  ### Running the Gem in Console
283
285
 
284
286
  `ACCESS_TOKEN=*your-access-token** ruby bin/console`
287
+
288
+ or add your environment variables to a `.env` file and run `ruby bin/console`
data/access.gemspec CHANGED
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency "coveralls"
30
30
  spec.add_development_dependency "simplecov"
31
31
  spec.add_development_dependency "minitest-focus"
32
+ spec.add_development_dependency "dotenv"
32
33
 
33
34
  spec.add_dependency "hashie", "~> 3.3.1"
34
35
  spec.add_dependency "httparty", "~> 0.13.3"
data/bin/console CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
-
2
+ require 'dotenv'
3
+ Dotenv.load
3
4
  require "bundler/setup"
4
5
  require "access"
5
6
 
data/lib/access/api.rb CHANGED
@@ -368,25 +368,25 @@ module Access
368
368
  ## Favorites
369
369
 
370
370
  def favorites_search(options = {})
371
- request.get("/members/#{options[:member_key]}/favorites/#{options[:favorite_type]}", "mms", options) do |response|
371
+ request.get("/members/#{options.delete(:member_key)}/favorites/#{options.delete(:favorite_type)}", "report", options) do |response|
372
372
  FavoriteResponse.new(response)
373
373
  end
374
374
  end
375
375
 
376
376
  def favorites_find(resource_id, options = {})
377
- request.get("/members/#{options[:member_key]}/favorites/#{options[:favorite_type]}/#{resource_id}", "mms", options) do |response|
377
+ request.get("/members/#{options.delete(:member_key)}/favorites/#{options.delete(:favorite_type)}/#{resource_id}", "report", options) do |response|
378
378
  FavoriteResponse.new(response)
379
379
  end
380
380
  end
381
381
 
382
382
  def favorites_create(resource_id, options = {})
383
- request.post("/members/#{options[:member_key]}/favorites/#{options[:favorite_type]}/#{resource_id}", "mms", options) do |response|
383
+ request.post("/members/#{options.delete(:member_key)}/favorites/#{options.delete(:favorite_type)}/#{resource_id}", "mms", options) do |response|
384
384
  FavoriteResponse.new(response)
385
385
  end
386
386
  end
387
387
 
388
388
  def favorites_delete(resource_id, options = {})
389
- request.delete("/members/#{options[:member_key]}/favorites/#{options[:favorite_type]}/#{resource_id}", "mms", options) do |response|
389
+ request.delete("/members/#{options.delete(:member_key)}/favorites/#{options.delete(:favorite_type)}/#{resource_id}", "mms", options) do |response|
390
390
  FavoriteResponse.new(response)
391
391
  end
392
392
  end
@@ -59,9 +59,9 @@ module Access
59
59
 
60
60
  # create
61
61
 
62
- def self.create(offer_key, options = {})
62
+ def self.create(resource_key, options = {})
63
63
  # must pass in a favorite_type
64
- Access::Api.new.favorites_create offer_key, options
64
+ Access::Api.new.favorites_create resource_key, options
65
65
  end
66
66
 
67
67
  def self.create_offer(offer_key, options = {})
@@ -1,4 +1,4 @@
1
1
  module Access
2
- VERSION = "2.0.48"
2
+ VERSION = "2.0.49"
3
3
  end
4
4
 
@@ -3,7 +3,7 @@ require './test/test_helper'
3
3
  class AutocompleteTest < Minitest::Test
4
4
 
5
5
  def test_autocompletes_search
6
- VCR.use_cassette('autocomplete search') do
6
+ VCR.use_cassette('autocomplete/search_first') do
7
7
  autocompletes_response = Access::Autocomplete.search(member_key: 'API_RUBY_GEM_TEST', per_page: 1)
8
8
  assert autocompletes_response.success
9
9
  assert_kind_of Access::AutocompleteResponse, autocompletes_response
@@ -16,7 +16,7 @@ class AutocompleteTest < Minitest::Test
16
16
  end
17
17
 
18
18
  def test_autocompletes_search_offers
19
- VCR.use_cassette('autocomplete search offers') do
19
+ VCR.use_cassette('autocomplete/search_offers') do
20
20
  autocompletes_response = Access::Autocomplete.search_offers(member_key: 'API_RUBY_GEM_TEST', per_page: 1)
21
21
  assert autocompletes_response.success
22
22
  assert_kind_of Array, autocompletes_response.suggestions.offers
@@ -25,7 +25,7 @@ class AutocompleteTest < Minitest::Test
25
25
  end
26
26
 
27
27
  def test_autocompletes_search_stores
28
- VCR.use_cassette('autocomplete search stores') do
28
+ VCR.use_cassette('autocomplete/search_stores') do
29
29
  autocompletes_response = Access::Autocomplete.search_stores(member_key: 'API_RUBY_GEM_TEST', per_page: 1)
30
30
  assert autocompletes_response.success
31
31
  assert_kind_of Array, autocompletes_response.suggestions.stores
@@ -34,7 +34,7 @@ class AutocompleteTest < Minitest::Test
34
34
  end
35
35
 
36
36
  def test_autocompletes_search_locations
37
- VCR.use_cassette('autocomplete search locations') do
37
+ VCR.use_cassette('autocomplete/search_locations') do
38
38
  autocompletes_response = Access::Autocomplete.search_locations(member_key: 'API_RUBY_GEM_TEST', per_page: 1)
39
39
  assert autocompletes_response.success
40
40
  assert_kind_of Array, autocompletes_response.suggestions.locations
@@ -43,7 +43,7 @@ class AutocompleteTest < Minitest::Test
43
43
  end
44
44
 
45
45
  def test_autocompletes_search_categories
46
- VCR.use_cassette('autocomplete search categories') do
46
+ VCR.use_cassette('autocomplete/search_categories') do
47
47
  autocompletes_response = Access::Autocomplete.search_categories(member_key: 'API_RUBY_GEM_TEST', per_page: 1)
48
48
  assert autocompletes_response.success
49
49
  assert_kind_of Array, autocompletes_response.suggestions.categories
@@ -3,13 +3,13 @@ require './test/test_helper'
3
3
  class CampaignTest < Minitest::Test
4
4
 
5
5
  def get_first_campaign
6
- VCR.use_cassette('campaign search') do
6
+ VCR.use_cassette('campaign/search_first') do
7
7
  @first_campaign = Access::Campaign.search(member_key: 'API_RUBY_GEM_TEST', channel_key: '20889899', api_environment: 'production').campaigns.first
8
8
  end
9
9
  end
10
10
 
11
11
  def test_campaigns_search
12
- VCR.use_cassette('campaign search') do
12
+ VCR.use_cassette('campaign/search') do
13
13
  campaigns_response = Access::Campaign.search(member_key: 'API_RUBY_GEM_TEST', channel_key: '20889899', api_environment: 'production')
14
14
  assert campaigns_response.success
15
15
  first_campaign = campaigns_response.campaigns.first
@@ -29,7 +29,7 @@ class CampaignTest < Minitest::Test
29
29
  def test_campaigns_find
30
30
  skip
31
31
  get_first_campaign
32
- VCR.use_cassette('campaign find') do
32
+ VCR.use_cassette('campaign/find') do
33
33
  campaigns_response = Access::Campaign.find(@first_campaign.key, member_key: 'API_RUBY_GEM_TEST', channel_key: '20889899', api_environment: 'production')
34
34
  assert campaigns_response.success
35
35
  assert_kind_of Access::CampaignResponse, campaigns_response
@@ -3,14 +3,14 @@ require './test/test_helper'
3
3
  class CategoryTest < Minitest::Test
4
4
 
5
5
  def get_first_category
6
- VCR.use_cassette('category search') do
6
+ VCR.use_cassette('category/search_first') do
7
7
  @first_category = Access::Category.search(member_key: 'API_RUBY_GEM_TEST').categories.first
8
8
  @first_subcategory = Access::Category.search(member_key: 'API_RUBY_GEM_TEST').categories.first.subcategories.first
9
9
  end
10
10
  end
11
11
 
12
12
  def test_categories_search
13
- VCR.use_cassette('category search') do
13
+ VCR.use_cassette('category/search') do
14
14
  categories_response = Access::Category.search(member_key: 'API_RUBY_GEM_TEST')
15
15
  assert categories_response.success
16
16
  first_category = categories_response.categories.first
@@ -24,7 +24,7 @@ class CategoryTest < Minitest::Test
24
24
 
25
25
  def test_categories_find
26
26
  get_first_category
27
- VCR.use_cassette('category find') do
27
+ VCR.use_cassette('category/find') do
28
28
  categories_response = Access::Category.find(@first_category.category_key, member_key: 'API_RUBY_GEM_TEST')
29
29
  assert categories_response.success
30
30
  first_category = categories_response.categories.first
@@ -37,7 +37,7 @@ class CategoryTest < Minitest::Test
37
37
 
38
38
  def test_subcategories_find
39
39
  get_first_category
40
- VCR.use_cassette('subcategory find') do
40
+ VCR.use_cassette('category/subcategory_find') do
41
41
  categories_response = Access::Category.find(@first_subcategory.category_key, member_key: 'API_RUBY_GEM_TEST')
42
42
  assert categories_response.success
43
43
  first_category = categories_response.categories.first
@@ -49,7 +49,7 @@ class CategoryTest < Minitest::Test
49
49
  end
50
50
 
51
51
  def test_categories_fail_member_key
52
- VCR.use_cassette('category search fail member key') do
52
+ VCR.use_cassette('category/search_fail_member_key') do
53
53
  subcategories_response = Access::Category.search(query: 'pizza')
54
54
  refute subcategories_response.success
55
55
  assert_kind_of Access::CategoryResponse, subcategories_response
@@ -3,14 +3,14 @@ require './test/test_helper'
3
3
  class ChannelTest < Minitest::Test
4
4
 
5
5
  def get_first_channel
6
- VCR.use_cassette('channel search') do
7
- @first_channel = Access::Channel.search(member_key: 'API_RUBY_GEM_TEST', api_environment: 'stage').channels.first
6
+ VCR.use_cassette('channel/search_first') do
7
+ @first_channel = Access::Channel.search(member_key: 'API_RUBY_GEM_TEST', api_environment: 'production').channels.first
8
8
  end
9
9
  end
10
10
 
11
11
  def test_channels_search
12
- VCR.use_cassette('channel search') do
13
- channels_response = Access::Channel.search(member_key: 'API_RUBY_GEM_TEST', api_environment: 'stage')
12
+ VCR.use_cassette('channel/search') do
13
+ channels_response = Access::Channel.search(member_key: 'API_RUBY_GEM_TEST', api_environment: 'production')
14
14
  assert channels_response.success
15
15
  first_channel = channels_response.channels.first
16
16
  assert_kind_of Access::ChannelResponse, channels_response
@@ -23,8 +23,8 @@ class ChannelTest < Minitest::Test
23
23
  def test_channels_find
24
24
  skip
25
25
  get_first_channel
26
- VCR.use_cassette('channel find') do
27
- channels_response = Access::Channel.find(@first_channel.key, member_key: 'API_RUBY_GEM_TEST', api_environment: 'stage')
26
+ VCR.use_cassette('channel/find') do
27
+ channels_response = Access::Channel.find(@first_channel.key, member_key: 'API_RUBY_GEM_TEST', api_environment: 'production')
28
28
  assert channels_response.success
29
29
  assert_kind_of Access::ChannelResponse, channels_response
30
30
  base_attributes = [:key, :channel_name, :channel_type, :channel_identifier, :channel_description, :links]
@@ -3,7 +3,7 @@ require './test/test_helper'
3
3
  class DeviceTest < Minitest::Test
4
4
 
5
5
  def test_device_search_success
6
- VCR.use_cassette('member device search success') do
6
+ VCR.use_cassette('member_device/search_success') do
7
7
  request = Access::Device.search '226872', program_id: '2412', api_environment: 'stage'
8
8
  assert request.success
9
9
  assert_kind_of Access::DeviceResponse, request
@@ -12,7 +12,7 @@ class DeviceTest < Minitest::Test
12
12
  end
13
13
 
14
14
  def test_device_search_failure
15
- VCR.use_cassette('member device search failure') do
15
+ VCR.use_cassette('member_device/search_failure') do
16
16
  request = Access::Device.search '12345', program_id: '00112233', api_environment: 'stage'
17
17
  assert_equal 404, request.status
18
18
  assert_kind_of Access::DeviceResponse, request
@@ -22,7 +22,7 @@ class DeviceTest < Minitest::Test
22
22
 
23
23
  def test_device_find_success
24
24
  skip
25
- VCR.use_cassette('member device find success') do
25
+ VCR.use_cassette('member_device/find_success') do
26
26
  request = Access::Device.search '226872', udid: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', program_id: '2412', api_environment: 'stage'
27
27
  assert request.success
28
28
  assert_kind_of Access::DeviceResponse, request
@@ -32,7 +32,7 @@ class DeviceTest < Minitest::Test
32
32
 
33
33
  def test_device_find_failure
34
34
  skip
35
- VCR.use_cassette('member device find failure') do
35
+ VCR.use_cassette('member_device/find_failure') do
36
36
  request = Access::Device.search '226872', udid: 'YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY', program_id: '2412', api_environment: 'stage'
37
37
  assert_equal 404, request.status
38
38
  assert_kind_of Access::DeviceResponse, request
@@ -2,24 +2,26 @@ require './test/test_helper'
2
2
 
3
3
  class FavoriteTest < Minitest::Test
4
4
 
5
- def self.setup_favorites
6
- VCR.use_cassette('favorite one of everything') do
7
- @offer = Access::Offer.search(member_key: 'API_TEST', access_token: 'token_without_filters_with_program_offers', query: '_exists_:program_keys', all_offers: 'true').offers.first
5
+ def setup_favorites
6
+ VCR.use_cassette('favorite/one_of_everything') do
7
+ @offer = Access::Offer.search(member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS'], query: '_exists_:program_keys', all_offers: 'true').offers.first
8
8
  # make sure there is a member that exists first
9
- Access::Redeem.redeem_offer(@offer.offer_key, @offer.redemption_methods.first, member_key: "API_TEST", access_timeout: 10)
9
+ Access::Redeem.redeem_offer(@offer.offer_key, @offer.redemption_methods.first, member_key: "API_TEST", access_timeout: 10, access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS'], first_name: 'q', last_name: 'a')
10
10
  # make sure there is an offer favorited first
11
- Access::Favorite.create_offer @offer.offer_key, member_key: 'API_TEST'
12
- Access::Favorite.create_location @offer.location.location_key, member_key: 'API_TEST'
13
- Access::Favorite.create_store @offer.store.store_key, member_key: 'API_TEST'
11
+ Access::Favorite.create_offer @offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
12
+ Access::Favorite.create_location @offer.location.location_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
13
+ Access::Favorite.create_store @offer.store.store_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
14
14
  end
15
15
  @offer
16
16
  end
17
17
 
18
- @@offer = FavoriteTest.setup_favorites
18
+ def setup
19
+ @@offer ||= setup_favorites
20
+ end
19
21
 
20
22
  def test_favorite_search
21
- VCR.use_cassette('favorite search') do
22
- request = Access::Favorite.search member_key: 'API_TEST'
23
+ VCR.use_cassette('favorite/search') do
24
+ request = Access::Favorite.search member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
23
25
  assert request.success
24
26
  assert_kind_of Access::FavoriteResponse, request
25
27
  assert_kind_of Array, request.favorites
@@ -34,8 +36,8 @@ class FavoriteTest < Minitest::Test
34
36
  end
35
37
 
36
38
  def test_favorite_search_with_bad_member
37
- VCR.use_cassette('favorite search bad member') do
38
- request = Access::Favorite.search member_key: 'API_TEST_FAVORITE_BAD_MEMBER'
39
+ VCR.use_cassette('favorite/search_bad_member') do
40
+ request = Access::Favorite.search member_key: 'API_TEST_FAVORITE_BAD_MEMBER', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
39
41
  refute request.success
40
42
  assert_kind_of Access::FavoriteResponse, request
41
43
  assert_empty request.favorites
@@ -44,8 +46,8 @@ class FavoriteTest < Minitest::Test
44
46
 
45
47
  def test_favorite_search_with_no_favorites
46
48
  # TODO refactor after fav api update
47
- VCR.use_cassette('favorite search no favorites') do
48
- request = Access::Favorite.search member_key: 'API_TEST_FAVORITE_NO_FAVORITES'
49
+ VCR.use_cassette('favorite/search_no_favorites') do
50
+ request = Access::Favorite.search member_key: 'API_TEST_FAVORITE_NO_FAVORITES', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
49
51
  refute request.success
50
52
  assert_kind_of Access::FavoriteResponse, request
51
53
  assert_empty request.favorites
@@ -53,123 +55,128 @@ class FavoriteTest < Minitest::Test
53
55
  end
54
56
 
55
57
  def test_favorite_search_offers
56
- VCR.use_cassette('favorite search offers') do
57
- request = Access::Favorite.search_offers member_key: 'ALD12345'
58
+ VCR.use_cassette('favorite/search_offers') do
59
+ request = Access::Favorite.search_offers member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
58
60
  assert_good_favorite_offer_response(request)
59
61
  end
60
62
  end
61
63
 
62
64
  def test_favorite_search_locations
63
- VCR.use_cassette('favorite search locations') do
64
- request = Access::Favorite.search_locations member_key: 'ALD12345'
65
+ VCR.use_cassette('favorite/search_locations') do
66
+ request = Access::Favorite.search_locations member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
65
67
  assert_good_favorite_location_response(request)
66
68
  end
67
69
  end
68
70
 
69
71
  def test_favorite_search_stores
70
- VCR.use_cassette('favorite search stores') do
71
- request = Access::Favorite.search_stores member_key: 'ALD12345'
72
+ VCR.use_cassette('favorite/search_stores') do
73
+ request = Access::Favorite.search_stores member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
72
74
  assert_good_favorite_store_response(request)
73
75
  end
74
76
  end
75
77
 
76
78
  def test_favorite_find
77
- VCR.use_cassette('favorite find generic with offer') do
78
- Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST' # create it first, in case it was deleted
79
- request = Access::Favorite.find @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST'
79
+ VCR.use_cassette('favorite/find_generic_with_offer') do
80
+ Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
81
+ request = Access::Favorite.find @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
80
82
  assert_good_favorite_offer_response(request)
81
83
  end
82
84
  end
83
85
 
84
86
  def test_favorite_find_offer
85
- VCR.use_cassette('favorite find offer') do
86
- Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST' # create it first, in case it was deleted
87
- request = Access::Favorite.find_offer @@offer.offer_key, member_key: 'API_TEST'
87
+ VCR.use_cassette('favorite/find_offer') do
88
+ Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
89
+ request = Access::Favorite.find_offer @@offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
88
90
  assert_good_favorite_offer_response(request)
89
91
  end
90
92
  end
91
93
 
92
94
  def test_favorite_find_location
93
- VCR.use_cassette('favorite find location') do
94
- Access::Favorite.create_location @@offer.location.location_key, member_key: 'API_TEST' # create it first, in case it was deleted
95
- request = Access::Favorite.find_location @@offer.location.location_key, member_key: 'API_TEST'
95
+ VCR.use_cassette('favorite/find_location') do
96
+ Access::Favorite.create_location @@offer.location.location_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
97
+ request = Access::Favorite.find_location @@offer.location.location_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
96
98
  assert_good_favorite_location_response(request)
97
99
  end
98
100
  end
99
101
 
100
102
  def test_favorite_find_store
101
- VCR.use_cassette('favorite find store') do
102
- Access::Favorite.create_store @@offer.store.store_key, member_key: 'API_TEST' # create it first, in case it was deleted
103
- request = Access::Favorite.find_store @@offer.store.store_key, member_key: 'API_TEST'
103
+ VCR.use_cassette('favorite/find_store') do
104
+
105
+ Access::Favorite.create_store @@offer.store.store_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
106
+ request = Access::Favorite.find_store @@offer.store.store_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
104
107
  assert_good_favorite_store_response(request)
105
108
  end
106
109
  end
107
110
 
108
111
  def test_favorite_create
109
- VCR.use_cassette('favorite create generic with offer') do
110
- request = Access::Favorite.create @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST'
112
+ VCR.use_cassette('favorite/create_generic_with_offer') do
113
+ request = Access::Favorite.create @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
111
114
  assert_good_favorite_offer_response(request)
112
115
  end
113
116
  end
114
117
 
115
118
  def test_favorite_create_offer
116
- VCR.use_cassette('favorite create offer') do
117
- request = Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST'
119
+ VCR.use_cassette('favorite/create_offer') do
120
+ request = Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
118
121
  assert_good_favorite_offer_response(request)
119
122
  end
120
123
  end
121
124
 
122
125
 
123
126
  def test_favorite_create_location
124
- VCR.use_cassette('favorite create location') do
125
- request = Access::Favorite.create_location @@offer.location.location_key, member_key: 'API_TEST'
127
+ VCR.use_cassette('favorite/create_location') do
128
+ request = Access::Favorite.create_location @@offer.location.location_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
126
129
  assert_good_favorite_location_response(request)
127
130
  end
128
131
  end
129
132
 
130
133
  def test_favorite_create_store
131
- VCR.use_cassette('favorite create store') do
132
- request = Access::Favorite.create_store @@offer.store.store_key, member_key: 'API_TEST'
134
+ VCR.use_cassette('favorite/create_store') do
135
+ request = Access::Favorite.create_store @@offer.store.store_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
133
136
  assert_good_favorite_store_response(request)
134
137
  end
135
138
  end
136
139
 
137
140
  def test_favorite_delete
138
- VCR.use_cassette('favorite delete generic with offer') do
139
- request = Access::Favorite.delete @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST'
141
+ VCR.use_cassette('favorite/delete_generic_with_offer') do
142
+ request = Access::Favorite.delete @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
140
143
  assert request.success
141
144
  assert_kind_of Access::FavoriteResponse, request
145
+ # remake it after
146
+ Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
142
147
  end
143
148
  end
144
149
 
145
150
  def test_favorite_delete_offer
146
- VCR.use_cassette('favorite delete offer') do
147
- Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST' # create it first, in case it was deleted
148
- request = Access::Favorite.delete_offer @@offer.offer_key, member_key: 'API_TEST'
151
+ VCR.use_cassette('favorite/delete_offer') do
152
+ Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS'] # create it first, in case it was deleted
153
+ request = Access::Favorite.delete_offer @@offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
149
154
  assert request.success
150
155
  assert_kind_of Access::FavoriteResponse, request
156
+ Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
151
157
  end
152
158
  end
153
159
 
154
160
  def test_favorite_delete_location
155
- VCR.use_cassette('favorite delete location') do
156
- Access::Favorite.delete_location @@offer.location.location_key, member_key: 'API_TEST' # create it first, in case it was deleted
157
- request = Access::Favorite.find_location @@offer.location.location_key, member_key: 'API_TEST'
158
- refute request.success
161
+ VCR.use_cassette('favorite/delete_location') do
162
+ Access::Favorite.delete_location @@offer.location.location_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS'] # create it first, in case it was deleted
163
+ request = Access::Favorite.find_location @@offer.location.location_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
164
+ assert request.success
159
165
  assert_kind_of Access::FavoriteResponse, request
166
+ Access::Favorite.create_location @@offer.location.location_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
160
167
  end
161
168
  end
162
169
 
163
170
  def test_favorite_delete_store
164
- VCR.use_cassette('favorite delete store') do
165
- Access::Favorite.delete_store @@offer.store.store_key, member_key: 'API_TEST' # create it first, in case it was deleted
166
- request = Access::Favorite.find_store @@offer.store.store_key, member_key: 'API_TEST'
167
- refute request.success
171
+ VCR.use_cassette('favorite/delete_store') do
172
+ Access::Favorite.delete_store @@offer.store.store_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS'] # create it first, in case it was deleted
173
+ request = Access::Favorite.find_store @@offer.store.store_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
174
+ assert request.success
168
175
  assert_kind_of Access::FavoriteResponse, request
176
+ Access::Favorite.create_store @@offer.store.store_key, member_key: 'API_TEST', access_token: ENV['TOKEN_WITHOUT_FILTERS_WITH_PROGRAM_OFFERS']
169
177
  end
170
178
  end
171
179
 
172
-
173
180
  def assert_good_favorite_offer_response(request)
174
181
  assert request.success
175
182
  assert_kind_of Access::FavoriteResponse, request