access 1.1.7 → 2.0.0
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 +4 -4
- data/.coveralls.yml +1 -0
- data/.gitignore +2 -0
- data/.travis.yml +12 -0
- data/Guardfile +7 -0
- data/README.md +159 -23
- data/Rakefile +13 -0
- data/access.gemspec +6 -1
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/access.rb +21 -10
- data/lib/access/api.rb +188 -64
- data/lib/access/autocomplete.rb +11 -0
- data/lib/access/campaign.rb +24 -0
- data/lib/access/category.rb +16 -2
- data/lib/access/channel.rb +24 -0
- data/lib/access/city_savings.rb +16 -0
- data/lib/access/config.rb +8 -7
- data/lib/access/error.rb +8 -2
- data/lib/access/filter.rb +30 -2
- data/lib/access/info.rb +13 -0
- data/lib/access/link.rb +17 -0
- data/lib/access/location.rb +17 -2
- data/lib/access/member.rb +11 -0
- data/lib/access/oauth_application.rb +31 -0
- data/lib/access/offer.rb +24 -20
- data/lib/access/redeem.rb +11 -4
- data/lib/access/report.rb +10 -0
- data/lib/access/request.rb +25 -20
- data/lib/access/response.rb +127 -0
- data/lib/access/spot.rb +28 -0
- data/lib/access/store.rb +16 -2
- data/lib/access/token.rb +18 -0
- data/lib/access/verify.rb +11 -2
- data/lib/access/version.rb +1 -1
- data/test/access/autocomplete_test.rb +53 -0
- data/test/access/category_test.rb +64 -0
- data/test/access/city_savings_test.rb +5 -0
- data/test/access/filter_test.rb +40 -0
- data/test/access/location_test.rb +59 -0
- data/test/access/member_test.rb +5 -0
- data/test/access/oauth_application_test.rb +91 -0
- data/test/access/offer_test.rb +71 -0
- data/test/access/redeem_test.rb +38 -0
- data/test/access/report_test.rb +36 -0
- data/test/access/store_test.rb +65 -0
- data/test/access/token_test.rb +35 -0
- data/test/access/verify_test.rb +29 -0
- data/test/access/version_test.rb +9 -0
- data/test/fixtures/autocomplete_search.yml +207 -0
- data/test/fixtures/autocomplete_search_categories.yml +181 -0
- data/test/fixtures/autocomplete_search_locations.yml +173 -0
- data/test/fixtures/autocomplete_search_offers.yml +181 -0
- data/test/fixtures/autocomplete_search_stores.yml +185 -0
- data/test/fixtures/category_find.yml +303 -0
- data/test/fixtures/category_search.yml +683 -0
- data/test/fixtures/category_search_fail_member_key.yml +102 -0
- data/test/fixtures/filter_find.yml +70 -0
- data/test/fixtures/filter_search.yml +195 -0
- data/test/fixtures/location_find.yml +923 -0
- data/test/fixtures/location_search.yml +378 -0
- data/test/fixtures/location_search_fail_member_key.yml +367 -0
- data/test/fixtures/national_stores.yml +4135 -0
- data/test/fixtures/oauth_application_find.yml +163 -0
- data/test/fixtures/oauth_application_search.yml +134 -0
- data/test/fixtures/oauth_application_search_fail_member_key.yml +268 -0
- data/test/fixtures/oauth_application_token_find.yml +249 -0
- data/test/fixtures/oauth_application_token_search.yml +98 -0
- data/test/fixtures/offer_find.yml +683 -0
- data/test/fixtures/offer_search.yml +329 -0
- data/test/fixtures/offer_search_fail_member_key.yml +102 -0
- data/test/fixtures/redeem_offer_no_redeem_type.yml +423 -0
- data/test/fixtures/store_find.yml +333 -0
- data/test/fixtures/store_search.yml +227 -0
- data/test/fixtures/store_search_fail_member_key.yml +102 -0
- data/test/fixtures/subcategory_find.yml +283 -0
- data/test/fixtures/token_find.yml +245 -0
- data/test/fixtures/token_search.yml +301 -0
- data/test/fixtures/verify_filter.yml +290 -0
- data/test/fixtures/verify_token.yml +78 -0
- data/test/test_helper.rb +15 -0
- metadata +183 -11
- data/test/offers/offer_test.rb +0 -5
@@ -0,0 +1,59 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class LocationTest < Minitest::Test
|
4
|
+
|
5
|
+
def get_first_location
|
6
|
+
VCR.use_cassette('location search') do
|
7
|
+
@first_location = Access::Location.search(member_key: 'API_RUBY_GEM_TEST', per_page: 1).locations.first
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_locations_search
|
12
|
+
VCR.use_cassette('location search') do
|
13
|
+
locations_response = Access::Location.search(member_key: 'API_RUBY_GEM_TEST', per_page: 1)
|
14
|
+
assert locations_response.success
|
15
|
+
first_location = locations_response.locations.first
|
16
|
+
assert_kind_of Access::LocationResponse, locations_response
|
17
|
+
assert_kind_of Access::Link, locations_response.links
|
18
|
+
assert_kind_of Access::Info, locations_response.info
|
19
|
+
assert_kind_of Array, locations_response.locations
|
20
|
+
assert_kind_of Access::Location, first_location
|
21
|
+
assert_kind_of Access::Link, first_location.links
|
22
|
+
assert_kind_of Access::Category, first_location.location_categories.first
|
23
|
+
assert_kind_of Access::Location, first_location.physical_location
|
24
|
+
assert_kind_of Access::Store, first_location.location_store
|
25
|
+
# make these work
|
26
|
+
# assert_kind_of Access::Category, first_location.categories
|
27
|
+
# assert_kind_of Access::Store, first_location.store
|
28
|
+
# assert_kind_of Access::Store, first_location.location
|
29
|
+
# assert first_location.name
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_locations_find
|
34
|
+
get_first_location
|
35
|
+
VCR.use_cassette('location find') do
|
36
|
+
locations_response = Access::Location.find(@first_location.location_key, member_key: 'API_RUBY_GEM_TEST')
|
37
|
+
assert locations_response.success
|
38
|
+
first_location = locations_response.locations.first
|
39
|
+
assert_kind_of Access::LocationResponse, locations_response
|
40
|
+
assert_kind_of Access::Location, first_location
|
41
|
+
assert_kind_of Access::Category, first_location.location_categories.first
|
42
|
+
assert_kind_of Access::Location, first_location.physical_location
|
43
|
+
assert_kind_of Access::Store, first_location.location_store
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_locations_fail_member_key
|
48
|
+
VCR.use_cassette('location search fail member key') do
|
49
|
+
locations_response = Access::Location.search(query: 'pizza')
|
50
|
+
refute locations_response.success
|
51
|
+
assert_kind_of Access::LocationResponse, locations_response
|
52
|
+
assert_kind_of Access::Error, locations_response.error
|
53
|
+
assert_equal 401, locations_response.error.status_code
|
54
|
+
assert_equal "Must include a member_key to see details.", locations_response.error.message
|
55
|
+
assert_equal "Unauthorized", locations_response.error.status
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class OauthApplicationTest < Minitest::Test
|
4
|
+
|
5
|
+
def get_first_oauth_application
|
6
|
+
VCR.use_cassette('oauth_application search') do
|
7
|
+
@first_oauth_application = Access::OauthApplication.search(per_page: 1).oauth_applications.first
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def get_first_access_token
|
12
|
+
get_first_oauth_application
|
13
|
+
VCR.use_cassette('oauth_application token search') do
|
14
|
+
@first_access_token = Access::OauthApplication.search_tokens(@first_oauth_application.id, per_page: 1).access_tokens.first
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_oauth_applications_search
|
19
|
+
VCR.use_cassette('oauth_application search') do
|
20
|
+
oauth_applications_response = Access::OauthApplication.search(per_page: 1)
|
21
|
+
assert oauth_applications_response.success
|
22
|
+
first_oauth_application = oauth_applications_response.oauth_applications.first
|
23
|
+
assert_kind_of Access::OauthApplicationResponse, oauth_applications_response
|
24
|
+
assert_kind_of Access::Link, oauth_applications_response.links
|
25
|
+
assert_kind_of Access::Info, oauth_applications_response.info
|
26
|
+
assert_kind_of Array, oauth_applications_response.oauth_applications
|
27
|
+
assert_equal 1, oauth_applications_response.oauth_applications.count
|
28
|
+
assert_kind_of Access::OauthApplication, first_oauth_application
|
29
|
+
assert_kind_of Access::Link, first_oauth_application.links
|
30
|
+
assert_kind_of Access::Filter, first_oauth_application.filter
|
31
|
+
# has scope? method
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_oauth_applications_find
|
36
|
+
get_first_oauth_application
|
37
|
+
VCR.use_cassette('oauth_application find') do
|
38
|
+
oauth_applications_response = Access::OauthApplication.find(@first_oauth_application.id)
|
39
|
+
assert oauth_applications_response.success
|
40
|
+
first_oauth_application = oauth_applications_response.oauth_applications.first
|
41
|
+
assert_kind_of Access::OauthApplicationResponse, oauth_applications_response
|
42
|
+
assert_kind_of Access::OauthApplication, first_oauth_application
|
43
|
+
assert_kind_of Access::Filter, first_oauth_application.filter
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_oauth_applications_search_tokens
|
48
|
+
get_first_oauth_application
|
49
|
+
VCR.use_cassette('oauth_application token search') do
|
50
|
+
access_tokens_response = Access::OauthApplication.search_tokens(@first_oauth_application.id, per_page: 1)
|
51
|
+
assert access_tokens_response.success
|
52
|
+
first_access_token = access_tokens_response.access_tokens.first
|
53
|
+
assert_kind_of Access::TokenResponse, access_tokens_response
|
54
|
+
assert_kind_of Array, access_tokens_response.access_tokens
|
55
|
+
assert_equal 1, access_tokens_response.access_tokens.count
|
56
|
+
assert_kind_of Access::Link, first_access_token.links
|
57
|
+
refute_kind_of Hash, first_access_token.program_filter_id
|
58
|
+
# has scope? method
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_oauth_applications_find_token
|
63
|
+
get_first_access_token
|
64
|
+
VCR.use_cassette('oauth_application token find') do
|
65
|
+
access_tokens_response = Access::OauthApplication.find_token(@first_access_token.application_id, @first_access_token.oauth_access_token_id)
|
66
|
+
assert access_tokens_response.success
|
67
|
+
first_access_token = access_tokens_response.access_tokens.first
|
68
|
+
assert_kind_of Access::TokenResponse, access_tokens_response
|
69
|
+
assert_kind_of Array, access_tokens_response.access_tokens
|
70
|
+
assert_equal 1, access_tokens_response.access_tokens.count
|
71
|
+
refute_kind_of Hash, first_access_token.program_filter_id
|
72
|
+
# has scope? method
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_oauth_applications_create_token
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_oauth_applications_create
|
81
|
+
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_oauth_applications_update
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_oauth_applications_delete
|
89
|
+
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class OfferTest < Minitest::Test
|
4
|
+
|
5
|
+
def get_first_offer
|
6
|
+
VCR.use_cassette('offer search') do
|
7
|
+
@first_offer = Access::Offer.search(query: 'pizza', member_key: 'API_RUBY_GEM_TEST', per_page: 1).offers.first
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_offers_search
|
12
|
+
assert_equal Access.config.access_token, ENV['ACCESS_TOKEN']
|
13
|
+
|
14
|
+
VCR.use_cassette('offer search') do
|
15
|
+
offers_response = Access::Offer.search(query: 'pizza', member_key: 'API_RUBY_GEM_TEST', per_page: 1)
|
16
|
+
first_offer = offers_response.offers.first
|
17
|
+
assert offers_response.success
|
18
|
+
assert_kind_of Access::OfferResponse, offers_response
|
19
|
+
assert_kind_of Access::Link, offers_response.links
|
20
|
+
assert_kind_of Access::Info, offers_response.info
|
21
|
+
assert_kind_of Array, offers_response.offers
|
22
|
+
assert_kind_of Access::Offer, first_offer
|
23
|
+
assert_kind_of Access::Category, first_offer.categories.first
|
24
|
+
assert_kind_of Access::Store, first_offer.offer_store
|
25
|
+
assert_kind_of Access::Location, first_offer.location
|
26
|
+
assert_kind_of Access::Link, first_offer.links
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_offers_find
|
31
|
+
get_first_offer
|
32
|
+
VCR.use_cassette('offer find') do
|
33
|
+
offers_response = Access::Offer.find(@first_offer.offer_key, query: 'pizza', member_key: 'API_RUBY_GEM_TEST')
|
34
|
+
first_offer = offers_response.offers.first
|
35
|
+
assert offers_response.success
|
36
|
+
assert_kind_of Access::OfferResponse, offers_response
|
37
|
+
assert_kind_of Access::Offer, first_offer
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_offers_extra_methods
|
42
|
+
VCR.use_cassette('offer search') do
|
43
|
+
offers_response = Access::Offer.search(query: 'pizza', member_key: 'API_RUBY_GEM_TEST', per_page: 1)
|
44
|
+
first_offer = offers_response.offers.first
|
45
|
+
assert offers_response.success
|
46
|
+
# location
|
47
|
+
assert_equal first_offer.offer_store.physical_location, first_offer.location
|
48
|
+
# store
|
49
|
+
assert_equal first_offer.offer_store, first_offer.store
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_offers_fail_member_key
|
54
|
+
VCR.use_cassette('offer search fail member key') do
|
55
|
+
offers_response = Access::Offer.search(query: 'pizza')
|
56
|
+
refute offers_response.success
|
57
|
+
assert_kind_of Access::OfferResponse, offers_response
|
58
|
+
assert_kind_of Access::Error, offers_response.error
|
59
|
+
assert_equal 401, offers_response.error.status_code
|
60
|
+
assert_equal "Must include a member_key to see details.", offers_response.error.message
|
61
|
+
assert_equal "Unauthorized", offers_response.error.status
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_offers_fail_no_access_token
|
66
|
+
orginal_token = ENV['ACCESS_TOKEN']
|
67
|
+
Access.config.access_token = ENV['ACCESS_TOKEN'] = nil
|
68
|
+
assert_raises(Access::Error::NoAccessToken) { Access::Offer.search(query: 'pizza', member_key: 'API_RUBY_GEM_TEST') }
|
69
|
+
Access.config.access_token = ENV['ACCESS_TOKEN'] = orginal_token
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class RedeemTest < Minitest::Test
|
4
|
+
|
5
|
+
def get_first_offer
|
6
|
+
VCR.use_cassette('offer search') do
|
7
|
+
@first_offer = Access::Offer.search(query: 'pizza', member_key: 'API_RUBY_GEM_TEST', per_page: 1).offers.first
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_redeem_offer_no_redeem_type
|
12
|
+
get_first_offer
|
13
|
+
VCR.use_cassette('redeem offer no redeem type') do
|
14
|
+
redeem_response = Access::Redeem.redeem_offer(@first_offer.offer_key, nil, member_key: 'API_RUBY_GEM_TEST')
|
15
|
+
assert redeem_response.success
|
16
|
+
assert_kind_of Access::RedeemResponse, redeem_response
|
17
|
+
assert_kind_of Array, redeem_response.links
|
18
|
+
assert_kind_of Access::Link, redeem_response.links.first
|
19
|
+
assert redeem_response.links.first.href
|
20
|
+
assert redeem_response.links.first.rel
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def test_redeem_offer_with_redeem_type
|
26
|
+
get_first_offer
|
27
|
+
VCR.use_cassette('redeem offer no redeem type') do
|
28
|
+
redeem_response = Access::Redeem.redeem_offer(@first_offer.offer_key, @first_offer.redemption_methods.first, member_key: 'API_RUBY_GEM_TEST')
|
29
|
+
assert redeem_response.success
|
30
|
+
assert_kind_of Access::RedeemResponse, redeem_response
|
31
|
+
assert_kind_of Array, redeem_response.links
|
32
|
+
assert redeem_response.content_type
|
33
|
+
assert redeem_response.redemption_method
|
34
|
+
assert redeem_response.details
|
35
|
+
assert redeem_response.details.link
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class ReportTest < Minitest::Test
|
4
|
+
|
5
|
+
# def get_first_report
|
6
|
+
# VCR.use_cassette('report search') do
|
7
|
+
# @first_report = Access::Report.search(member_key: 'API_RUBY_GEM_TEST', per_page: 1).reports.first
|
8
|
+
# end
|
9
|
+
# end
|
10
|
+
|
11
|
+
# def test_reports_search
|
12
|
+
# VCR.use_cassette('report search') do
|
13
|
+
# reports_response = Access::Report.search(member_key: 'API_RUBY_GEM_TEST', per_page: 1)
|
14
|
+
# assert reports_response.success
|
15
|
+
# first_report = reports_response.reports.first
|
16
|
+
# assert_kind_of Access::ReportResponse, reports_response
|
17
|
+
# assert_kind_of Access::Link, reports_response.links
|
18
|
+
# assert_kind_of Access::Info, reports_response.info
|
19
|
+
# assert_kind_of Array, reports_response.reports
|
20
|
+
# assert_kind_of Access::Report, first_report
|
21
|
+
# assert_kind_of Access::Link, first_report.links
|
22
|
+
# end
|
23
|
+
# end
|
24
|
+
|
25
|
+
# def test_reports_find
|
26
|
+
# get_first_report
|
27
|
+
# VCR.use_cassette('report find') do
|
28
|
+
# reports_response = Access::Report.find(@first_report.report_key, member_key: 'API_RUBY_GEM_TEST')
|
29
|
+
# assert reports_response.success
|
30
|
+
# first_report = reports_response.reports.first
|
31
|
+
# assert_kind_of Access::ReportResponse, reports_response
|
32
|
+
# assert_kind_of Access::Report, first_report
|
33
|
+
# end
|
34
|
+
# end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class StoreTest < Minitest::Test
|
4
|
+
|
5
|
+
def get_first_store
|
6
|
+
VCR.use_cassette('store search') do
|
7
|
+
@first_store = Access::Store.search(member_key: 'API_RUBY_GEM_TEST', per_page: 1).stores.first
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_stores_search
|
12
|
+
VCR.use_cassette('store search') do
|
13
|
+
stores_response = Access::Store.search(member_key: 'API_RUBY_GEM_TEST', per_page: 1)
|
14
|
+
assert stores_response.success
|
15
|
+
first_store = stores_response.stores.first
|
16
|
+
assert_kind_of Access::StoreResponse, stores_response
|
17
|
+
assert_kind_of Access::Link, stores_response.links
|
18
|
+
assert_kind_of Access::Info, stores_response.info
|
19
|
+
assert_kind_of Array, stores_response.stores
|
20
|
+
assert_kind_of Access::Store, first_store
|
21
|
+
assert_kind_of Access::Link, first_store.links
|
22
|
+
assert_kind_of Access::Category, first_store.store_categories.first
|
23
|
+
|
24
|
+
# things to add
|
25
|
+
# assert_kind_of Access::Category, first_store.categories
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_stores_find
|
30
|
+
get_first_store
|
31
|
+
VCR.use_cassette('store find') do
|
32
|
+
stores_response = Access::Store.find(@first_store.store_key, member_key: 'API_RUBY_GEM_TEST')
|
33
|
+
assert stores_response.success
|
34
|
+
first_store = stores_response.stores.first
|
35
|
+
# pp stores_response.inspect
|
36
|
+
assert_kind_of Access::StoreResponse, stores_response
|
37
|
+
assert_kind_of Access::Store, first_store
|
38
|
+
assert_kind_of Access::Link, first_store.links
|
39
|
+
assert_kind_of Access::Category, first_store.store_categories.first
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_national_stores_find
|
44
|
+
VCR.use_cassette('national stores') do
|
45
|
+
stores_response = Access::Store.national(per_page: 1, member_key: 'API_RUBY_GEM_TEST')
|
46
|
+
assert stores_response.success
|
47
|
+
first_store = stores_response.stores.first
|
48
|
+
assert_kind_of Access::StoreResponse, stores_response
|
49
|
+
assert_kind_of Access::Store, first_store
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_stores_fail_member_key
|
54
|
+
VCR.use_cassette('store search fail member key') do
|
55
|
+
stores_response = Access::Store.search(query: 'pizza')
|
56
|
+
refute stores_response.success
|
57
|
+
assert_kind_of Access::StoreResponse, stores_response
|
58
|
+
assert_kind_of Access::Error, stores_response.error
|
59
|
+
assert_equal 401, stores_response.error.status_code
|
60
|
+
assert_equal "Must include a member_key to see details.", stores_response.error.message
|
61
|
+
assert_equal "Unauthorized", stores_response.error.status
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class TokenTest < Minitest::Test
|
4
|
+
|
5
|
+
def get_first_token
|
6
|
+
VCR.use_cassette('token search') do
|
7
|
+
@first_token = Access::Token.search(per_page: 1).oauth_tokens.first
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_tokens_search
|
12
|
+
VCR.use_cassette('token search') do
|
13
|
+
tokens_response = Access::Token.search(per_page: 1)
|
14
|
+
assert tokens_response.success
|
15
|
+
first_token = tokens_response.oauth_tokens.first
|
16
|
+
assert_kind_of Access::TokenResponse, tokens_response
|
17
|
+
assert_kind_of Access::Link, tokens_response.links
|
18
|
+
assert_kind_of Access::Info, tokens_response.info
|
19
|
+
assert_kind_of Array, tokens_response.oauth_tokens
|
20
|
+
assert_kind_of Access::Token, first_token
|
21
|
+
assert_kind_of Access::Link, first_token.links
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_tokens_find
|
26
|
+
get_first_token
|
27
|
+
VCR.use_cassette('token find') do
|
28
|
+
tokens_response = Access::Token.find(@first_token.token)
|
29
|
+
assert tokens_response.success
|
30
|
+
assert_kind_of Access::TokenResponse, tokens_response
|
31
|
+
assert_kind_of Access::Token, tokens_response.oauth_token
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class VerifyTest < Minitest::Test
|
4
|
+
|
5
|
+
def test_verify_token
|
6
|
+
VCR.use_cassette('verify token') do
|
7
|
+
verify_response = Access::Verify.token
|
8
|
+
assert verify_response.success
|
9
|
+
assert_kind_of Access::VerifyResponse, verify_response
|
10
|
+
assert_kind_of Access::Verify, verify_response.oauth_access_token
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_verify_filter
|
15
|
+
VCR.use_cassette('verify filter') do
|
16
|
+
single_filter = '{"program_filter": {"offers": [{"or":[{"terms":{"categories.category_key":[ 39, 1007, 1008, 1009, 1010, 1011, 1012 ] } }, {"terms":{"categories.category_parent_key":[ 39, 1007, 1008, 1009, 1010, 1011, 1012]} } ]}, {"not": {"or": [{"terms":{"categories.category_key":[ 1007 ] } }, {"terms":{"categories.category_parent_key":[ 1007 ] } } ] } } ] } }'
|
17
|
+
verify_response = Access::Verify.filter single_filter
|
18
|
+
assert verify_response.success
|
19
|
+
assert_kind_of Access::VerifyResponse, verify_response
|
20
|
+
assert_kind_of Access::Verify, verify_response.categories
|
21
|
+
assert_kind_of Access::Verify, verify_response.locations
|
22
|
+
assert_kind_of Access::Verify, verify_response.stores
|
23
|
+
assert_kind_of Access::Verify, verify_response.offers
|
24
|
+
assert_kind_of Access::Redeem, verify_response.offers.redemption_methods.first
|
25
|
+
assert_kind_of Access::Category, verify_response.offers.categories.first
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|