access 2.0.18 → 2.0.19

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aac13f2d0a8232c07c8bb51967a42d3cf45a4efc
4
- data.tar.gz: 993f8df48e101a03523f444fa6f658a4b9048f6f
3
+ metadata.gz: f7e2f1cd657bc9be1885ad0587066e7f075fd7a3
4
+ data.tar.gz: c521861e4023b8f317df7003a09a3d51e3f34da9
5
5
  SHA512:
6
- metadata.gz: e6641a218eb9a6ed3fb8480d51464f49351f1926d792c0508259c64a855652de27f0e87077018bace751ea26fd1618dbd37936b7cefde420fadec1d4e955d17a
7
- data.tar.gz: cdc9686aed4de5169fe862a2dd4b285d5e90ac7b7933537368461dc5e0bc801def1f5223bf3030a25aa4eed5eefa0ed6af2b834696b00397a9c67d9162f94eb7
6
+ metadata.gz: 590e7065961582c62990fdd02949160fd2cba660672acd6677d316494c740a885f1e895fc5c2cef2e3cceb60cc7fe5e394fb76e449c06631c205ab511cd858fd
7
+ data.tar.gz: e2367629a29948ead0137984466bc1b773ddb43b75055b6db952f4cb4d2b0043f32cf6d5f21594f5b65fad874e19f90affd1f8a3792163bb50e2e152a4fd40aa
@@ -36,6 +36,10 @@ module Access
36
36
  Access::Api.new.favorites_search options.merge(favorite_type: 'stores')
37
37
  end
38
38
 
39
+ def self.find(offer_key, options = {})
40
+ Access::Api.new.favorites_find offer_key, options
41
+ end
42
+
39
43
  def self.find_offer(offer_key, options = {})
40
44
  Access::Api.new.favorites_find offer_key, options.merge(favorite_type: 'offers')
41
45
  end
@@ -48,6 +52,10 @@ module Access
48
52
  Access::Api.new.favorites_find store_key, options.merge(favorite_type: 'stores')
49
53
  end
50
54
 
55
+ def self.create(offer_key, options = {})
56
+ Access::Api.new.favorites_create offer_key, options
57
+ end
58
+
51
59
  def self.create_offer(offer_key, options = {})
52
60
  Access::Api.new.favorites_create offer_key, options.merge(favorite_type: 'offers')
53
61
  end
@@ -60,6 +68,10 @@ module Access
60
68
  Access::Api.new.favorites_create store_key, options.merge(favorite_type: 'stores')
61
69
  end
62
70
 
71
+ def self.delete(offer_key, options = {})
72
+ Access::Api.new.favorites_delete offer_key, options
73
+ end
74
+
63
75
  def self.delete_offer(offer_key, options = {})
64
76
  Access::Api.new.favorites_delete offer_key, options.merge(favorite_type: 'offers')
65
77
  end
@@ -1,4 +1,4 @@
1
1
  module Access
2
- VERSION = "2.0.18"
2
+ VERSION = "2.0.19"
3
3
  end
4
4
 
@@ -76,6 +76,13 @@ class FavoriteTest < Minitest::Test
76
76
  end
77
77
  end
78
78
 
79
+ def test_favorite_find
80
+ VCR.use_cassette('favorite find generic with offer') do
81
+ request = Access::Favorite.find @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST'
82
+ assert_good_favorite_offer_response(request)
83
+ end
84
+ end
85
+
79
86
  def test_favorite_find_offer
80
87
  VCR.use_cassette('favorite find offer') do
81
88
  Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST' # create it first, in case it was deleted
@@ -100,6 +107,13 @@ class FavoriteTest < Minitest::Test
100
107
  end
101
108
  end
102
109
 
110
+ def test_favorite_create
111
+ VCR.use_cassette('favorite create generic with offer') do
112
+ request = Access::Favorite.create @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST'
113
+ assert_good_favorite_offer_response(request)
114
+ end
115
+ end
116
+
103
117
  def test_favorite_create_offer
104
118
  VCR.use_cassette('favorite create offer') do
105
119
  request = Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST'
@@ -122,6 +136,14 @@ class FavoriteTest < Minitest::Test
122
136
  end
123
137
  end
124
138
 
139
+ def test_favorite_delete
140
+ VCR.use_cassette('favorite delete generic with offer') do
141
+ request = Access::Favorite.delete @@offer.offer_key, favorite_type: 'offers', member_key: 'API_TEST'
142
+ assert request.success
143
+ assert_kind_of Access::FavoriteResponse, request
144
+ end
145
+ end
146
+
125
147
  def test_favorite_delete_offer
126
148
  VCR.use_cassette('favorite delete offer') do
127
149
  Access::Favorite.create_offer @@offer.offer_key, member_key: 'API_TEST' # create it first, in case it was deleted
@@ -157,7 +179,7 @@ class FavoriteTest < Minitest::Test
157
179
  assert_equal 1, request.favorites.map(&:favoriteType).uniq.count
158
180
  assert_equal 'offer', request.favorites.map(&:favoriteType).uniq.first
159
181
  assert_kind_of Access::Favorite, request.favorites.first
160
- assert_kind_of Access::Offer, request.favorites.first.offer unless request.favorites.first.offer.nil? # This test will go once the favorites api is pulling from elasticsearch
182
+ # assert_kind_of Access::Offer, request.favorites.first.offer if request.favorites.first.respond_to?('offer') # This test will go once the favorites api is pulling from elasticsearch
161
183
  end
162
184
 
163
185
  def assert_good_favorite_location_response(request)
@@ -0,0 +1,93 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offer/14813058
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"favorite_type":"offer","member_key":"API_TEST"}'
9
+ headers:
10
+ Access-Token:
11
+ - ACCESS_TOKEN
12
+ Content-Type:
13
+ - application/json
14
+ Accept:
15
+ - application/json
16
+ response:
17
+ status:
18
+ code: 400
19
+ message: Bad Request
20
+ headers:
21
+ Server:
22
+ - Apache-Coyote/1.1
23
+ X-Content-Type-Options:
24
+ - nosniff
25
+ X-Xss-Protection:
26
+ - 1; mode=block
27
+ Cache-Control:
28
+ - no-cache, no-store, max-age=0, must-revalidate
29
+ Pragma:
30
+ - no-cache
31
+ Expires:
32
+ - '0'
33
+ X-Frame-Options:
34
+ - DENY
35
+ X-Application-Context:
36
+ - application:main,stage:10120
37
+ Content-Type:
38
+ - application/json;charset=UTF-8
39
+ Transfer-Encoding:
40
+ - chunked
41
+ Date:
42
+ - Fri, 23 Oct 2015 20:38:31 GMT
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"message":"\"offer\" is not a recognized favorite type.","status":400}'
46
+ http_version:
47
+ recorded_at: Fri, 23 Oct 2015 20:37:52 GMT
48
+ - request:
49
+ method: post
50
+ uri: https://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers/14813058
51
+ body:
52
+ encoding: UTF-8
53
+ string: '{"favorite_type":"offers","member_key":"API_TEST"}'
54
+ headers:
55
+ Access-Token:
56
+ - ACCESS_TOKEN
57
+ Content-Type:
58
+ - application/json
59
+ Accept:
60
+ - application/json
61
+ response:
62
+ status:
63
+ code: 200
64
+ message: OK
65
+ headers:
66
+ Server:
67
+ - Apache-Coyote/1.1
68
+ X-Content-Type-Options:
69
+ - nosniff
70
+ X-Xss-Protection:
71
+ - 1; mode=block
72
+ Cache-Control:
73
+ - no-cache, no-store, max-age=0, must-revalidate
74
+ Pragma:
75
+ - no-cache
76
+ Expires:
77
+ - '0'
78
+ X-Frame-Options:
79
+ - DENY
80
+ X-Application-Context:
81
+ - application:main,stage:10110
82
+ Content-Type:
83
+ - application/json;charset=UTF-8
84
+ Transfer-Encoding:
85
+ - chunked
86
+ Date:
87
+ - Fri, 23 Oct 2015 20:39:16 GMT
88
+ body:
89
+ encoding: UTF-8
90
+ string: '{"links":{"show_favorite_locations":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/locations","show_favorite_offers":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers","show_favorite_stores":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/stores"},"favorites":[{"links":{"show_favorite_offer":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offer/14813058"},"favorited_date":"2015-10-23T17:46:38.886+0000","favoriteType":"offer"}]}'
91
+ http_version:
92
+ recorded_at: Fri, 23 Oct 2015 20:38:37 GMT
93
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: https://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers/14813058
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"favorite_type":"offers","member_key":"API_TEST"}'
9
+ headers:
10
+ Access-Token:
11
+ - ACCESS_TOKEN
12
+ Content-Type:
13
+ - application/json
14
+ Accept:
15
+ - application/json
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - Apache-Coyote/1.1
23
+ X-Content-Type-Options:
24
+ - nosniff
25
+ X-Xss-Protection:
26
+ - 1; mode=block
27
+ Cache-Control:
28
+ - no-cache, no-store, max-age=0, must-revalidate
29
+ Pragma:
30
+ - no-cache
31
+ Expires:
32
+ - '0'
33
+ X-Frame-Options:
34
+ - DENY
35
+ X-Application-Context:
36
+ - application:main,stage:10110
37
+ Content-Type:
38
+ - application/json;charset=UTF-8
39
+ Transfer-Encoding:
40
+ - chunked
41
+ Date:
42
+ - Fri, 23 Oct 2015 20:44:13 GMT
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"links":{"show_favorite_locations":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/locations","show_favorite_offers":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers","show_favorite_stores":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/stores"}}'
46
+ http_version:
47
+ recorded_at: Fri, 23 Oct 2015 20:43:34 GMT
48
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers/14813058?favorite_type=offers&member_key=API_TEST
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Access-Token:
11
+ - ACCESS_TOKEN
12
+ Content-Type:
13
+ - application/json
14
+ Accept:
15
+ - application/json
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - Apache-Coyote/1.1
23
+ X-Content-Type-Options:
24
+ - nosniff
25
+ X-Xss-Protection:
26
+ - 1; mode=block
27
+ Cache-Control:
28
+ - no-cache, no-store, max-age=0, must-revalidate
29
+ Pragma:
30
+ - no-cache
31
+ Expires:
32
+ - '0'
33
+ X-Frame-Options:
34
+ - DENY
35
+ X-Application-Context:
36
+ - application:main,stage:10120
37
+ Content-Type:
38
+ - application/json;charset=UTF-8
39
+ Transfer-Encoding:
40
+ - chunked
41
+ Date:
42
+ - Fri, 23 Oct 2015 20:43:39 GMT
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"links":{"show_favorite_locations":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/locations","show_favorite_offers":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers","show_favorite_stores":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/stores"},"favorites":[{"links":{"show_favorite_offer":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offer/14813058"},"favorited_date":"2015-10-23T17:46:38.886+0000","favoriteType":"offer"}]}'
46
+ http_version:
47
+ recorded_at: Fri, 23 Oct 2015 20:43:00 GMT
48
+ recorded_with: VCR 2.9.3
@@ -904,7 +904,7 @@ http_interactions:
904
904
  eHRfcGFnZSI6ICJodHRwczovL29mZmVyLXN0YWdlLmFkY3J3cy5jb20vdjEv
905
905
  b2ZmZXJzP2FsbF9vZmZlcnM9dHJ1ZSZtZW1iZXJfa2V5PUFQSV9URVNUJnBh
906
906
  Z2U9MiZxdWVyeT1fZXhpc3RzXyUzQXByb2dyYW1fa2V5cyIKICB9Cn0=
907
- http_version:
907
+ http_version:
908
908
  recorded_at: Fri, 23 Oct 2015 18:41:24 GMT
909
909
  - request:
910
910
  method: get
@@ -939,11 +939,11 @@ http_interactions:
939
939
  body:
940
940
  encoding: UTF-8
941
941
  string: '{"redemption_method":"instore","content_type":"text/html","details":{"link":"https://static-stage.accessdevelopment.com/temp/coupon/f081abe9b847b74c0d46039e9766678097a24c51/original.html"},"links":[]}'
942
- http_version:
942
+ http_version:
943
943
  recorded_at: Fri, 23 Oct 2015 18:41:26 GMT
944
944
  - request:
945
945
  method: post
946
- uri: https://mms-stage.adcrws.com/v1/members/API_TEST/favorites/offers/14813058
946
+ uri: https://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers/14813058
947
947
  body:
948
948
  encoding: UTF-8
949
949
  string: '{"member_key":"API_TEST","favorite_type":"offers"}'
@@ -983,12 +983,12 @@ http_interactions:
983
983
  - Fri, 23 Oct 2015 18:42:06 GMT
984
984
  body:
985
985
  encoding: UTF-8
986
- string: '{"links":{"show_favorite_locations":"http://mms-stage.adcrws.com/v1/members/API_TEST/favorites/locations","show_favorite_offers":"http://mms-stage.adcrws.com/v1/members/API_TEST/favorites/offers","show_favorite_stores":"http://mms-stage.adcrws.com/v1/members/API_TEST/favorites/stores"},"favorites":[{"links":{"show_favorite_offer":"http://mms-stage.adcrws.com/v1/members/API_TEST/favorites/offer/14813058"},"favorited_date":"2015-10-23T17:46:38.886+0000","favoriteType":"offer"}]}'
987
- http_version:
986
+ string: '{"links":{"show_favorite_locations":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/locations","show_favorite_offers":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers","show_favorite_stores":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/stores"},"favorites":[{"links":{"show_favorite_offer":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offer/14813058"},"favorited_date":"2015-10-23T17:46:38.886+0000","favoriteType":"offer"}]}'
987
+ http_version:
988
988
  recorded_at: Fri, 23 Oct 2015 18:41:27 GMT
989
989
  - request:
990
990
  method: post
991
- uri: https://mms-stage.adcrws.com/v1/members/API_TEST/favorites/locations/5454539
991
+ uri: https://mms-demo.adcrws.com/v1/members/API_TEST/favorites/locations/5454539
992
992
  body:
993
993
  encoding: UTF-8
994
994
  string: '{"member_key":"API_TEST","favorite_type":"locations"}'
@@ -1089,11 +1089,11 @@ http_interactions:
1089
1089
  YXRfdGhpc19sb2NhdGlvbiI6Imh0dHBzOi8vb2ZmZXItc3RhZ2UuYWRjcndz
1090
1090
  LmNvbS92MS9vZmZlcnM/bG9jYXRpb25fa2V5PTU0MTE0MzUifX0sImZhdm9y
1091
1091
  aXRlVHlwZSI6ImxvY2F0aW9uIn1dfQ==
1092
- http_version:
1092
+ http_version:
1093
1093
  recorded_at: Fri, 23 Oct 2015 18:41:28 GMT
1094
1094
  - request:
1095
1095
  method: post
1096
- uri: https://mms-stage.adcrws.com/v1/members/API_TEST/favorites/stores/18938324
1096
+ uri: https://mms-demo.adcrws.com/v1/members/API_TEST/favorites/stores/18938324
1097
1097
  body:
1098
1098
  encoding: UTF-8
1099
1099
  string: '{"member_key":"API_TEST","favorite_type":"stores"}'
@@ -1133,13 +1133,13 @@ http_interactions:
1133
1133
  - Fri, 23 Oct 2015 18:42:08 GMT
1134
1134
  body:
1135
1135
  encoding: UTF-8
1136
- string: '{"links":{"show_favorite_locations":"http://mms-stage.adcrws.com/v1/members/API_TEST/favorites/locations","show_favorite_offers":"http://mms-stage.adcrws.com/v1/members/API_TEST/favorites/offers","show_favorite_stores":"http://mms-stage.adcrws.com/v1/members/API_TEST/favorites/stores"},"favorites":[{"links":{"show_favorite_store":"http://mms-stage.adcrws.com/v1/members/API_TEST/favorites/store/18938324"},"favorited_date":"2015-10-23T17:16:10.962+0000","store":{"search_relevance":1.0,"store_key":58790602,"name":"Lakeview
1136
+ string: '{"links":{"show_favorite_locations":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/locations","show_favorite_offers":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/offers","show_favorite_stores":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/stores"},"favorites":[{"links":{"show_favorite_store":"http://mms-demo.adcrws.com/v1/members/API_TEST/favorites/store/18938324"},"favorited_date":"2015-10-23T17:16:10.962+0000","store":{"search_relevance":1.0,"store_key":58790602,"name":"Lakeview
1137
1137
  Garden Center & Landscaping","description":"Lakeview Garden Center is situated
1138
1138
  on five beautiful acres. A year ''round garden center, Lakeview is committed
1139
1139
  to providing a wide variety of plant stock, in-depth knowledge and professional
1140
1140
  customer service to midwest gardeners and homeowners.","logo_url":"https://static-demo.accessdevelopment.com/brand/c9df612a35f9829d5f98ed7394b3c10ad2428bc0/original.png","national":false,"active_location_count":1,"active_offer_count":1,"store_categories":[{"category_name":"Garden
1141
1141
  Centers","category_key":1050,"category_parent_key":1039,"category_parent_name":"Home
1142
1142
  & Garden","category_type":"subcategory"}],"links":{"show_store":"https://offer-stage.adcrws.com/v1/stores/58790602","find_offers_for_this_store":"https://offer-stage.adcrws.com/v1/offers?store_key=58790602","find_locations_for_this_store":"https://offer-stage.adcrws.com/v1/locations?store_key=58790602"}},"favoriteType":"store"}]}'
1143
- http_version:
1143
+ http_version:
1144
1144
  recorded_at: Fri, 23 Oct 2015 18:41:29 GMT
1145
1145
  recorded_with: VCR 2.9.3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: access
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.18
4
+ version: 2.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Eggett
@@ -271,12 +271,15 @@ files:
271
271
  - test/vcr/cassettes/category_find.yml
272
272
  - test/vcr/cassettes/category_search.yml
273
273
  - test/vcr/cassettes/category_search_fail_member_key.yml
274
+ - test/vcr/cassettes/favorite_create_generic_with_offer.yml
274
275
  - test/vcr/cassettes/favorite_create_location.yml
275
276
  - test/vcr/cassettes/favorite_create_offer.yml
276
277
  - test/vcr/cassettes/favorite_create_store.yml
278
+ - test/vcr/cassettes/favorite_delete_generic_with_offer.yml
277
279
  - test/vcr/cassettes/favorite_delete_location.yml
278
280
  - test/vcr/cassettes/favorite_delete_offer.yml
279
281
  - test/vcr/cassettes/favorite_delete_store.yml
282
+ - test/vcr/cassettes/favorite_find_generic_with_offer.yml
280
283
  - test/vcr/cassettes/favorite_find_location.yml
281
284
  - test/vcr/cassettes/favorite_find_offer.yml
282
285
  - test/vcr/cassettes/favorite_find_store.yml
@@ -376,12 +379,15 @@ test_files:
376
379
  - test/vcr/cassettes/category_find.yml
377
380
  - test/vcr/cassettes/category_search.yml
378
381
  - test/vcr/cassettes/category_search_fail_member_key.yml
382
+ - test/vcr/cassettes/favorite_create_generic_with_offer.yml
379
383
  - test/vcr/cassettes/favorite_create_location.yml
380
384
  - test/vcr/cassettes/favorite_create_offer.yml
381
385
  - test/vcr/cassettes/favorite_create_store.yml
386
+ - test/vcr/cassettes/favorite_delete_generic_with_offer.yml
382
387
  - test/vcr/cassettes/favorite_delete_location.yml
383
388
  - test/vcr/cassettes/favorite_delete_offer.yml
384
389
  - test/vcr/cassettes/favorite_delete_store.yml
390
+ - test/vcr/cassettes/favorite_find_generic_with_offer.yml
385
391
  - test/vcr/cassettes/favorite_find_location.yml
386
392
  - test/vcr/cassettes/favorite_find_offer.yml
387
393
  - test/vcr/cassettes/favorite_find_store.yml