my_john_deere_api 2.5.0 → 3.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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/my_john_deere_api.rb +1 -1
  3. data/lib/my_john_deere_api/authorize.rb +36 -27
  4. data/lib/my_john_deere_api/client.rb +38 -29
  5. data/lib/my_john_deere_api/consumer.rb +46 -35
  6. data/lib/my_john_deere_api/helpers/case_conversion.rb +5 -2
  7. data/lib/my_john_deere_api/helpers/uri_helpers.rb +1 -1
  8. data/lib/my_john_deere_api/model/contribution_definition.rb +1 -1
  9. data/lib/my_john_deere_api/net_http_retry/decorator.rb +10 -11
  10. data/lib/my_john_deere_api/net_http_retry/invalid_response_error.rb +2 -2
  11. data/lib/my_john_deere_api/request/collection/asset_locations.rb +1 -1
  12. data/lib/my_john_deere_api/request/collection/assets.rb +1 -1
  13. data/lib/my_john_deere_api/request/collection/base.rb +2 -14
  14. data/lib/my_john_deere_api/request/collection/contribution_definitions.rb +1 -1
  15. data/lib/my_john_deere_api/request/collection/contribution_products.rb +1 -1
  16. data/lib/my_john_deere_api/request/collection/fields.rb +1 -1
  17. data/lib/my_john_deere_api/request/collection/flags.rb +1 -1
  18. data/lib/my_john_deere_api/request/collection/organizations.rb +1 -1
  19. data/lib/my_john_deere_api/request/create/asset.rb +8 -11
  20. data/lib/my_john_deere_api/request/create/asset_location.rb +24 -25
  21. data/lib/my_john_deere_api/request/create/base.rb +2 -20
  22. data/lib/my_john_deere_api/request/individual/asset.rb +2 -2
  23. data/lib/my_john_deere_api/request/individual/base.rb +6 -24
  24. data/lib/my_john_deere_api/request/individual/contribution_definition.rb +1 -1
  25. data/lib/my_john_deere_api/request/individual/contribution_product.rb +1 -1
  26. data/lib/my_john_deere_api/request/individual/field.rb +1 -1
  27. data/lib/my_john_deere_api/request/individual/organization.rb +1 -1
  28. data/lib/my_john_deere_api/request/update/asset.rb +2 -2
  29. data/lib/my_john_deere_api/request/update/base.rb +1 -19
  30. data/lib/my_john_deere_api/version.rb +1 -1
  31. data/test/lib/my_john_deere_api/authorize_test.rb +37 -25
  32. data/test/lib/my_john_deere_api/client_test.rb +22 -56
  33. data/test/lib/my_john_deere_api/consumer_test.rb +16 -28
  34. data/test/lib/my_john_deere_api/helpers/uri_helpers_test.rb +0 -10
  35. data/test/lib/my_john_deere_api/model/asset_location_test.rb +0 -4
  36. data/test/lib/my_john_deere_api/model/asset_test.rb +9 -8
  37. data/test/lib/my_john_deere_api/model/base_test.rb +4 -8
  38. data/test/lib/my_john_deere_api/model/contribution_definition_test.rb +3 -7
  39. data/test/lib/my_john_deere_api/model/contribution_product_test.rb +4 -7
  40. data/test/lib/my_john_deere_api/model/field_test.rb +4 -6
  41. data/test/lib/my_john_deere_api/model/flag_test.rb +6 -7
  42. data/test/lib/my_john_deere_api/model/organization_test.rb +3 -5
  43. data/test/lib/my_john_deere_api/net_http_retry/decorator_test.rb +14 -14
  44. data/test/lib/my_john_deere_api/net_http_retry/invalid_response_error_test.rb +22 -2
  45. data/test/lib/my_john_deere_api/request/collection/asset_locations_test.rb +2 -2
  46. data/test/lib/my_john_deere_api/request/collection/assets_test.rb +2 -2
  47. data/test/lib/my_john_deere_api/request/collection/contribution_definitions_test.rb +2 -2
  48. data/test/lib/my_john_deere_api/request/collection/contribution_products_test.rb +2 -2
  49. data/test/lib/my_john_deere_api/request/collection/fields_test.rb +2 -2
  50. data/test/lib/my_john_deere_api/request/collection/flags_test.rb +2 -2
  51. data/test/lib/my_john_deere_api/request/collection/organizations_test.rb +2 -2
  52. data/test/lib/my_john_deere_api/request/create/asset_location_test.rb +3 -2
  53. data/test/lib/my_john_deere_api/request/create/asset_test.rb +5 -4
  54. data/test/lib/my_john_deere_api/request/create/base_test.rb +0 -14
  55. data/test/lib/my_john_deere_api/request/individual/asset_test.rb +2 -3
  56. data/test/lib/my_john_deere_api/request/individual/base_test.rb +0 -1
  57. data/test/lib/my_john_deere_api/request/individual/contribution_definition_test.rb +2 -3
  58. data/test/lib/my_john_deere_api/request/individual/contribution_product_test.rb +2 -3
  59. data/test/lib/my_john_deere_api/request/individual/field_test.rb +2 -3
  60. data/test/lib/my_john_deere_api/request/individual/organization_test.rb +2 -3
  61. data/test/lib/my_john_deere_api/request/update/asset_test.rb +5 -17
  62. data/test/lib/my_john_deere_api/request/update/base_test.rb +0 -14
  63. data/test/support/helper.rb +14 -5
  64. data/test/support/link_helpers.rb +14 -0
  65. data/test/support/response_helpers.rb +18 -0
  66. data/test/support/vcr/catalog.yml +44 -37
  67. data/test/support/vcr/get_access_token.yml +90 -17
  68. data/test/support/vcr/get_refresh_token.yml +159 -0
  69. data/test/support/vcr/get_request_url.yml +51 -0
  70. data/test/support/vcr_setup.rb +80 -19
  71. metadata +11 -8
  72. data/test/support/vcr/get_request_token.yml +0 -83
@@ -1,6 +1,8 @@
1
1
  require 'support/helper'
2
2
 
3
3
  describe 'MyJohnDeereApi::Model::ContributionProduct' do
4
+ include JD::LinkHelpers
5
+
4
6
  let(:klass) { JD::Model::ContributionProduct }
5
7
 
6
8
  let(:record) do
@@ -32,14 +34,9 @@ describe 'MyJohnDeereApi::Model::ContributionProduct' do
32
34
  end
33
35
 
34
36
  describe '#initialize' do
35
- def link_for label
36
- camel_label = label.gsub(/_(.)/){|m| m[1].upcase}
37
- record['links'].detect{|link| link['rel'] == camel_label}['uri'].gsub('https://sandboxapi.deere.com/platform', '')
38
- end
39
-
40
37
  it 'sets the attributes from the given record' do
41
38
  product = klass.new(client, record)
42
-
39
+
43
40
  assert_equal client, product.client
44
41
  assert_equal accessor, product.accessor
45
42
 
@@ -59,7 +56,7 @@ describe 'MyJohnDeereApi::Model::ContributionProduct' do
59
56
  product = klass.new(client, record)
60
57
 
61
58
  ['self', 'contribution_definition'].each do |association|
62
- assert_equal link_for(association), product.links[association]
59
+ assert_link_for product, association
63
60
  end
64
61
  end
65
62
  end
@@ -1,6 +1,8 @@
1
1
  require 'support/helper'
2
2
 
3
3
  describe 'MyJohnDeereApi::Model::Field' do
4
+ include JD::LinkHelpers
5
+
4
6
  let(:klass) { JD::Model::Field }
5
7
 
6
8
  let(:record) do
@@ -18,10 +20,6 @@ describe 'MyJohnDeereApi::Model::Field' do
18
20
  end
19
21
 
20
22
  describe '#initialize' do
21
- def link_for label
22
- record['links'].detect{|link| link['rel'] == label}['uri'].gsub('https://sandboxapi.deere.com/platform', '')
23
- end
24
-
25
23
  it 'sets the attributes from the given record' do
26
24
  field = klass.new(client, record)
27
25
 
@@ -36,8 +34,8 @@ describe 'MyJohnDeereApi::Model::Field' do
36
34
  # links to other things
37
35
  assert_kind_of Hash, field.links
38
36
 
39
- ['clients', 'notes'].each do |association|
40
- assert_equal link_for(association), field.links[association]
37
+ [:clients, :notes].each do |association|
38
+ assert_link_for field, association
41
39
  end
42
40
  end
43
41
  end
@@ -2,6 +2,8 @@ require 'support/helper'
2
2
  require 'json'
3
3
 
4
4
  describe 'MyJohnDeereApi::Model::Flag' do
5
+ include JD::LinkHelpers
6
+
5
7
  let(:klass) { JD::Model::Flag }
6
8
 
7
9
  let(:record) do
@@ -21,10 +23,6 @@ describe 'MyJohnDeereApi::Model::Flag' do
21
23
  end
22
24
 
23
25
  describe '#initialize' do
24
- def link_for label
25
- record['links'].detect{|link| link['rel'] == label}['uri'].gsub('https://sandboxapi.deere.com/platform', '')
26
- end
27
-
28
26
  it 'sets the attributes from the given record' do
29
27
  flag = klass.new(client, record)
30
28
 
@@ -40,9 +38,10 @@ describe 'MyJohnDeereApi::Model::Flag' do
40
38
 
41
39
  # links to other things
42
40
  assert_kind_of Hash, flag.links
43
- assert_equal link_for('field'), flag.links['field']
44
- assert_equal link_for('createdBy'), flag.links['created_by']
45
- assert_equal link_for('lastModifiedBy'), flag.links['last_modified_by']
41
+
42
+ [:field, :created_by, :last_modified_by].each do |attribute|
43
+ assert_link_for(flag, attribute)
44
+ end
46
45
  end
47
46
  end
48
47
  end
@@ -1,6 +1,8 @@
1
1
  require 'support/helper'
2
2
 
3
3
  describe 'MyJohnDeereApi::Model::Organization' do
4
+ include JD::LinkHelpers
5
+
4
6
  let(:klass) { JD::Model::Organization }
5
7
 
6
8
  let(:record) do
@@ -31,10 +33,6 @@ describe 'MyJohnDeereApi::Model::Organization' do
31
33
  end
32
34
 
33
35
  describe '#initialize(record, client = nil)' do
34
- def link_for label
35
- record['links'].detect{|link| link['rel'] == label}['uri'].gsub('https://sandboxapi.deere.com/platform', '')
36
- end
37
-
38
36
  it 'sets the attributes from the given record' do
39
37
  organization = klass.new(client, record)
40
38
 
@@ -51,7 +49,7 @@ describe 'MyJohnDeereApi::Model::Organization' do
51
49
  assert_kind_of Hash, organization.links
52
50
 
53
51
  ['fields', 'machines', 'files', 'assets', 'farms', 'boundaries', 'clients', 'controllers'].each do |association|
54
- assert_equal link_for(association), organization.links[association]
52
+ assert_link_for(organization, association)
55
53
  end
56
54
  end
57
55
  end
@@ -2,10 +2,10 @@ require 'support/helper'
2
2
 
3
3
  describe 'JD::NetHttpRetry::Decorator' do
4
4
  REQUESTS = {
5
- get: '/',
6
- post: '/organizations/000000/assets',
7
- put: '/assets/00000000-0000-0000-0000-000000000000',
8
- delete: '/assets/00000000-0000-0000-0000-000000000000'
5
+ get: '/platform/',
6
+ post: '/platform/organizations/000000/assets',
7
+ put: '/platform/assets/00000000-0000-0000-0000-000000000000',
8
+ delete: '/platform/assets/00000000-0000-0000-0000-000000000000'
9
9
  }
10
10
 
11
11
  REQUEST_METHODS = REQUESTS.keys
@@ -33,7 +33,7 @@ describe 'JD::NetHttpRetry::Decorator' do
33
33
  let(:exponential_retries) { (0..klass::DEFAULTS[:max_retries]-1).map{|i| 2 ** i} }
34
34
 
35
35
  it 'wraps a "net-http"-responsive object' do
36
- assert_kind_of OAuth::AccessToken, accessor.object
36
+ assert_kind_of OAuth2::AccessToken, accessor.object
37
37
  end
38
38
 
39
39
  describe '#initialize' do
@@ -82,16 +82,16 @@ describe 'JD::NetHttpRetry::Decorator' do
82
82
  describe 'when retry_codes are specified' do
83
83
  let(:retry_codes) { ['200', '201'] }
84
84
 
85
- it 'uses the supplied values' do
86
- assert_equal retry_codes, object.retry_codes
85
+ it 'uses the integer versions of the supplied values' do
86
+ assert_equal retry_codes.map(&:to_i), object.retry_codes
87
87
  end
88
88
  end
89
89
 
90
90
  describe 'when retry_codes are specified as integers' do
91
91
  let(:retry_codes) { [200, 201] }
92
92
 
93
- it 'uses the stringified versions of the supplied values' do
94
- assert_equal retry_codes.map(&:to_s), object.retry_codes
93
+ it 'uses the supplied values' do
94
+ assert_equal retry_codes, object.retry_codes
95
95
  end
96
96
  end
97
97
 
@@ -104,16 +104,16 @@ describe 'JD::NetHttpRetry::Decorator' do
104
104
  describe 'when valid_codes are specified' do
105
105
  let(:valid_codes) { ['123', '234'] }
106
106
 
107
- it 'uses the supplied values' do
108
- assert_equal valid_codes, object.valid_codes
107
+ it 'uses the integer versions of the supplied values' do
108
+ assert_equal valid_codes.map(&:to_i), object.valid_codes
109
109
  end
110
110
  end
111
111
 
112
112
  describe 'when valid_codes are specified as integers' do
113
113
  let(:valid_codes) { [123, 234] }
114
114
 
115
- it 'uses the stringified versions of the supplied values' do
116
- assert_equal valid_codes.map(&:to_s), object.valid_codes
115
+ it 'uses the supplied values' do
116
+ assert_equal valid_codes, object.valid_codes
117
117
  end
118
118
  end
119
119
 
@@ -199,7 +199,7 @@ describe 'JD::NetHttpRetry::Decorator' do
199
199
 
200
200
  exception_json = JSON.parse(exception.message)
201
201
 
202
- assert_equal '500', exception_json['code']
202
+ assert_equal 500, exception_json['code']
203
203
  assert_equal 'Internal Error', exception_json['message']
204
204
  assert_equal 'You Have Died of Dysentery', exception_json['body']
205
205
  end
@@ -3,7 +3,22 @@ require 'support/helper'
3
3
  describe 'JD::NetHttpRetry::InvalidResponseError' do
4
4
  let(:klass) { JD::NetHttpRetry::InvalidResponseError }
5
5
  let(:response) { stub(response_content) }
6
- let(:response_content) { {code: '123', message: 'failed', body: 'body'} }
6
+
7
+ let(:faraday_response) do
8
+ stub(
9
+ status: '123',
10
+ reason_phrase: 'failed',
11
+ body: 'body'
12
+ )
13
+ end
14
+
15
+ let(:response_content) do
16
+ {
17
+ status: faraday_response.status,
18
+ body: faraday_response.body,
19
+ response: faraday_response
20
+ }
21
+ end
7
22
 
8
23
  it 'inherits from StandardError' do
9
24
  error = klass.new(response)
@@ -11,7 +26,12 @@ describe 'JD::NetHttpRetry::InvalidResponseError' do
11
26
  end
12
27
 
13
28
  it 'accepts a response object, and includes pertinent info' do
14
- expected_message = response_content.to_json
29
+ expected_message = {
30
+ code: faraday_response.status,
31
+ message: faraday_response.reason_phrase,
32
+ body: faraday_response.body
33
+ }.to_json
34
+
15
35
  actual_message = klass.new(response).message
16
36
 
17
37
  assert_equal expected_message, actual_message
@@ -23,8 +23,8 @@ describe 'MyJohnDeereApi::Request::Collection::AssetLocations' do
23
23
  end
24
24
 
25
25
  describe '#resource' do
26
- it 'returns /assets/{asset_id}/locations' do
27
- assert_equal "/assets/#{asset_id}/locations", collection.resource
26
+ it 'returns /platform/assets/{asset_id}/locations' do
27
+ assert_equal "/platform/assets/#{asset_id}/locations", collection.resource
28
28
  end
29
29
  end
30
30
 
@@ -23,8 +23,8 @@ describe 'MyJohnDeereApi::Request::Collection::Assets' do
23
23
  end
24
24
 
25
25
  describe '#resource' do
26
- it 'returns /organizations/{org_id}/assets' do
27
- assert_equal "/organizations/#{organization_id}/assets", collection.resource
26
+ it 'returns /platform/organizations/{org_id}/assets' do
27
+ assert_equal "/platform/organizations/#{organization_id}/assets", collection.resource
28
28
  end
29
29
  end
30
30
 
@@ -24,8 +24,8 @@ describe 'MyJohnDeereApi::Request::Collection::ContributionDefinitions' do
24
24
  end
25
25
 
26
26
  describe '#resource' do
27
- it 'returns /contributionProducts/<contribution_product_id>/contributionDefinitions' do
28
- assert_equal "/contributionProducts/#{contribution_product_id}/contributionDefinitions", collection.resource
27
+ it 'returns /platform/contributionProducts/<contribution_product_id>/contributionDefinitions' do
28
+ assert_equal "/platform/contributionProducts/#{contribution_product_id}/contributionDefinitions", collection.resource
29
29
  end
30
30
  end
31
31
 
@@ -24,8 +24,8 @@ describe 'MyJohnDeereApi::Request::Collection::ContributionProducts' do
24
24
  end
25
25
 
26
26
  describe '#resource' do
27
- it 'returns /contributionProducts' do
28
- assert_equal "/contributionProducts?clientControlled=true", collection.resource
27
+ it 'returns /platform/contributionProducts' do
28
+ assert_equal "/platform/contributionProducts?clientControlled=true", collection.resource
29
29
  end
30
30
  end
31
31
 
@@ -23,8 +23,8 @@ describe 'MyJohnDeereApi::Request::Collection::Fields' do
23
23
  end
24
24
 
25
25
  describe '#resource' do
26
- it 'returns /organizations/{org_id}/fields' do
27
- assert_equal "/organizations/#{organization_id}/fields", collection.resource
26
+ it 'returns /platform/organizations/{org_id}/fields' do
27
+ assert_equal "/platform/organizations/#{organization_id}/fields", collection.resource
28
28
  end
29
29
  end
30
30
 
@@ -24,8 +24,8 @@ describe 'MyJohnDeereApi::Request::Collection::Flags' do
24
24
  end
25
25
 
26
26
  describe '#resource' do
27
- it 'returns /organizations/{org_id}/fields/{field_id}/flags' do
28
- assert_equal "/organizations/#{organization_id}/fields/#{field_id}/flags", collection.resource
27
+ it 'returns /platform/organizations/{org_id}/fields/{field_id}/flags' do
28
+ assert_equal "/platform/organizations/#{organization_id}/fields/#{field_id}/flags", collection.resource
29
29
  end
30
30
  end
31
31
 
@@ -16,8 +16,8 @@ describe 'MyJohnDeereApi::Request::Collection::Organizations' do
16
16
  end
17
17
 
18
18
  describe '#resource' do
19
- it 'returns /organization' do
20
- assert_equal '/organizations', collection.resource
19
+ it 'returns /platform/organization' do
20
+ assert_equal '/platform/organizations', collection.resource
21
21
  end
22
22
  end
23
23
 
@@ -2,6 +2,8 @@ require 'support/helper'
2
2
  require 'date'
3
3
 
4
4
  describe 'MyJohnDeereApi::Request::Create::AssetLocation' do
5
+ include JD::ResponseHelpers
6
+
5
7
  def attributes_without(*keys)
6
8
  keys = keys.to_a
7
9
  attributes.reject{|k,v| keys.include?(k)}
@@ -23,7 +25,6 @@ describe 'MyJohnDeereApi::Request::Create::AssetLocation' do
23
25
  describe '#initialize(client, attributes)' do
24
26
  it 'accepts a client and attributes' do
25
27
  assert_equal client, object.client
26
- assert_equal accessor, object.accessor
27
28
  assert_equal attributes, object.attributes
28
29
  end
29
30
 
@@ -138,7 +139,7 @@ describe 'MyJohnDeereApi::Request::Create::AssetLocation' do
138
139
  it 'makes the request' do
139
140
  VCR.use_cassette('post_asset_locations') { object.request }
140
141
 
141
- assert_kind_of Net::HTTPCreated, object.response
142
+ assert_created(object.response)
142
143
  end
143
144
  end
144
145
 
@@ -1,6 +1,8 @@
1
1
  require 'support/helper'
2
2
 
3
3
  describe 'MyJohnDeereApi::Request::Create::Asset' do
4
+ include JD::ResponseHelpers
5
+
4
6
  def attributes_without(*keys)
5
7
  keys = keys.to_a
6
8
  attributes.reject{|k,v| keys.include?(k)}
@@ -22,7 +24,6 @@ describe 'MyJohnDeereApi::Request::Create::Asset' do
22
24
  describe '#initialize(client, attributes)' do
23
25
  it 'accepts a client and attributes' do
24
26
  assert_equal client, object.client
25
- assert_equal accessor, object.accessor
26
27
  assert_equal attributes, object.attributes
27
28
  end
28
29
  end
@@ -121,7 +122,7 @@ describe 'MyJohnDeereApi::Request::Create::Asset' do
121
122
  describe '#resource' do
122
123
  it 'is built from the organization id' do
123
124
  object = klass.new(client, attributes)
124
- assert_equal "/organizations/#{organization_id}/assets", object.send(:resource)
125
+ assert_equal "/platform/organizations/#{organization_id}/assets", object.send(:resource)
125
126
  end
126
127
  end
127
128
 
@@ -159,7 +160,7 @@ describe 'MyJohnDeereApi::Request::Create::Asset' do
159
160
  it 'makes the request' do
160
161
  VCR.use_cassette('post_assets') { object.request }
161
162
 
162
- assert_kind_of Net::HTTPCreated, object.response
163
+ assert_created object.response
163
164
  end
164
165
  end
165
166
 
@@ -170,7 +171,7 @@ describe 'MyJohnDeereApi::Request::Create::Asset' do
170
171
 
171
172
  assert_kind_of JD::Model::Asset, result
172
173
 
173
- expected_id = object.response['location'].split('/').last
174
+ expected_id = object.response.headers['location'].split('/').last
174
175
 
175
176
  assert_equal expected_id, result.id
176
177
  assert_equal attributes[:title], result.title
@@ -9,21 +9,7 @@ describe 'MyJohnDeereApi::Request::Create::Base' do
9
9
  object = klass.new(client, attributes)
10
10
 
11
11
  assert_equal client, object.client
12
- assert_equal accessor, object.accessor
13
12
  assert_equal attributes, object.attributes
14
13
  end
15
14
  end
16
-
17
- describe '#headers' do
18
- it 'sets the accept and content-type headers' do
19
- object = klass.new(client, attributes)
20
- headers = object.send(:headers)
21
-
22
- expected = 'application/vnd.deere.axiom.v3+json'
23
-
24
- assert_kind_of Hash, headers
25
- assert_equal expected, headers['Accept']
26
- assert_equal expected, headers['Content-Type']
27
- end
28
- end
29
15
  end
@@ -10,7 +10,6 @@ describe 'MyJohnDeereApi::Request::Individual::Asset' do
10
10
  describe '#initialize(client, asset_id)' do
11
11
  it 'accepts a client' do
12
12
  assert_equal client, object.client
13
- assert_equal accessor, object.accessor
14
13
  end
15
14
 
16
15
  it 'accepts asset_id as id' do
@@ -19,8 +18,8 @@ describe 'MyJohnDeereApi::Request::Individual::Asset' do
19
18
  end
20
19
 
21
20
  describe '#resource' do
22
- it 'returns /assets/<asset_id>' do
23
- assert_equal "/assets/#{asset_id}", object.resource
21
+ it 'returns /platform/assets/<asset_id>' do
22
+ assert_equal "/platform/assets/#{asset_id}", object.resource
24
23
  end
25
24
  end
26
25
 
@@ -8,7 +8,6 @@ describe 'MyJohnDeereApi::Request::Individual::Base' do
8
8
  describe '#initialize(client, asset_id)' do
9
9
  it 'accepts a client' do
10
10
  assert_equal client, object.client
11
- assert_equal accessor, object.accessor
12
11
  end
13
12
 
14
13
  it 'accepts asset_id as id' do
@@ -10,7 +10,6 @@ describe 'MyJohnDeereApi::Request::Individual::ContributionDefinition' do
10
10
  describe '#initialize(client, contribution_definition_id)' do
11
11
  it 'accepts a client' do
12
12
  assert_equal client, object.client
13
- assert_equal accessor, object.accessor
14
13
  end
15
14
 
16
15
  it 'accepts contribution_definition_id as id' do
@@ -19,8 +18,8 @@ describe 'MyJohnDeereApi::Request::Individual::ContributionDefinition' do
19
18
  end
20
19
 
21
20
  describe '#resource' do
22
- it 'returns /contributionDefinitions/<definition_id>' do
23
- assert_equal "/contributionDefinitions/#{contribution_definition_id}", object.resource
21
+ it 'returns /platform/contributionDefinitions/<definition_id>' do
22
+ assert_equal "/platform/contributionDefinitions/#{contribution_definition_id}", object.resource
24
23
  end
25
24
  end
26
25