access 2.0.48 → 2.0.49

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.
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