access 2.0.18 → 2.0.19

Sign up to get free protection for your applications and to get access to all the features.
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