lhs 15.3.1 → 15.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.localch.yml +158 -21
  3. data/.rubocop.yml +9 -3
  4. data/lhs.gemspec +10 -9
  5. data/lib/lhs/complex.rb +1 -1
  6. data/lib/lhs/concerns/autoload_records.rb +1 -1
  7. data/lib/lhs/concerns/collection/handle_nested.rb +1 -1
  8. data/lib/lhs/concerns/inspect.rb +1 -1
  9. data/lib/lhs/concerns/item/validation.rb +2 -2
  10. data/lib/lhs/concerns/proxy/accessors.rb +1 -1
  11. data/lib/lhs/concerns/proxy/problems.rb +1 -1
  12. data/lib/lhs/concerns/record/chainable.rb +1 -1
  13. data/lib/lhs/concerns/record/endpoints.rb +2 -2
  14. data/lib/lhs/concerns/record/model.rb +1 -1
  15. data/lib/lhs/concerns/record/request.rb +5 -5
  16. data/lib/lhs/data.rb +5 -4
  17. data/lib/lhs/endpoint.rb +1 -1
  18. data/lib/lhs/item.rb +8 -0
  19. data/lib/lhs/pagination/base.rb +0 -1
  20. data/lib/lhs/problems/base.rb +1 -1
  21. data/lib/lhs/record.rb +1 -1
  22. data/lib/lhs/version.rb +1 -1
  23. data/spec/autoloading_spec.rb +4 -4
  24. data/spec/collection/accessors_spec.rb +1 -1
  25. data/spec/collection/collection_items_spec.rb +1 -1
  26. data/spec/collection/configurable_spec.rb +1 -1
  27. data/spec/collection/meta_data_spec.rb +1 -1
  28. data/spec/collection/to_a_spec.rb +1 -1
  29. data/spec/collection/to_ary_spec.rb +6 -2
  30. data/spec/collection/without_object_items_spec.rb +1 -1
  31. data/spec/complex/reduce_spec.rb +2 -2
  32. data/spec/concerns/record/request_spec.rb +1 -1
  33. data/spec/data/collection_spec.rb +1 -1
  34. data/spec/data/equality_spec.rb +1 -1
  35. data/spec/data/inspect_spec.rb +1 -1
  36. data/spec/data/is_item_or_collection_spec.rb +1 -1
  37. data/spec/data/item_spec.rb +1 -1
  38. data/spec/data/merge_spec.rb +1 -1
  39. data/spec/data/parent_spec.rb +1 -1
  40. data/spec/data/raw_spec.rb +1 -1
  41. data/spec/data/respond_to_spec.rb +3 -3
  42. data/spec/data/root_spec.rb +1 -1
  43. data/spec/data/select_spec.rb +1 -1
  44. data/spec/data/to_ary_spec.rb +26 -0
  45. data/spec/data/to_json_spec.rb +1 -1
  46. data/spec/endpoint/for_url_spec.rb +1 -1
  47. data/spec/item/access_errors_spec.rb +1 -1
  48. data/spec/item/accessors_spec.rb +1 -1
  49. data/spec/item/add_error_spec.rb +1 -1
  50. data/spec/item/becomes_spec.rb +1 -1
  51. data/spec/item/blacklisted_keywords_spec.rb +1 -1
  52. data/spec/item/delegate_spec.rb +1 -1
  53. data/spec/item/destroy_spec.rb +2 -2
  54. data/spec/item/dig_spec.rb +1 -1
  55. data/spec/item/error_codes_spec.rb +1 -1
  56. data/spec/item/errors_spec.rb +22 -22
  57. data/spec/item/fetch_spec.rb +1 -1
  58. data/spec/item/getter_spec.rb +1 -1
  59. data/spec/item/internal_data_structure_spec.rb +1 -1
  60. data/spec/item/map_spec.rb +1 -1
  61. data/spec/item/partial_update_spec.rb +3 -3
  62. data/spec/item/save_spec.rb +2 -2
  63. data/spec/item/setter_spec.rb +1 -1
  64. data/spec/item/translate_errors_spec.rb +1 -1
  65. data/spec/item/update_spec.rb +1 -1
  66. data/spec/item/validation_spec.rb +4 -4
  67. data/spec/item/warning_codes_spec.rb +1 -1
  68. data/spec/item/warnings_spec.rb +1 -3
  69. data/spec/pagination/pages_left_spec.rb +1 -1
  70. data/spec/pagination/parameters_spec.rb +1 -1
  71. data/spec/proxy/create_sub_resource_spec.rb +5 -5
  72. data/spec/proxy/load_spec.rb +8 -10
  73. data/spec/proxy/record_identification_spec.rb +1 -1
  74. data/spec/record/all_spec.rb +3 -3
  75. data/spec/record/build_spec.rb +1 -1
  76. data/spec/record/cast_nested_data_spec.rb +1 -1
  77. data/spec/record/chain_error_handling_spec.rb +1 -1
  78. data/spec/record/create_spec.rb +4 -4
  79. data/spec/record/creation_failed_spec.rb +2 -2
  80. data/spec/record/definitions_spec.rb +1 -1
  81. data/spec/record/destroy_spec.rb +1 -1
  82. data/spec/record/dig_configuration_spec.rb +1 -1
  83. data/spec/record/endpoint_inheritance_spec.rb +3 -3
  84. data/spec/record/endpoint_options_spec.rb +2 -2
  85. data/spec/record/endpoints_spec.rb +7 -7
  86. data/spec/record/equality_spec.rb +1 -1
  87. data/spec/record/expanded_spec.rb +1 -1
  88. data/spec/record/fetch_spec.rb +1 -1
  89. data/spec/record/find_by_chains_spec.rb +1 -1
  90. data/spec/record/find_by_spec.rb +2 -2
  91. data/spec/record/find_each_spec.rb +1 -1
  92. data/spec/record/find_in_batches_spec.rb +2 -2
  93. data/spec/record/find_in_parallel_spec.rb +2 -2
  94. data/spec/record/find_spec.rb +3 -3
  95. data/spec/record/first_spec.rb +2 -2
  96. data/spec/record/handle_includes_errors_spec.rb +1 -1
  97. data/spec/record/has_many_spec.rb +3 -3
  98. data/spec/record/ignore_errors_spec.rb +5 -14
  99. data/spec/record/immutable_chains_spec.rb +1 -1
  100. data/spec/record/includes_all_spec.rb +6 -6
  101. data/spec/record/includes_spec.rb +13 -13
  102. data/spec/record/includes_warning_spec.rb +1 -1
  103. data/spec/record/item_key_spec.rb +1 -1
  104. data/spec/record/items_created_key_configuration_spec.rb +1 -1
  105. data/spec/record/mapping_spec.rb +1 -1
  106. data/spec/record/model_name_spec.rb +1 -1
  107. data/spec/record/new_spec.rb +5 -5
  108. data/spec/record/options_spec.rb +5 -5
  109. data/spec/record/paginatable_collection_spec.rb +5 -6
  110. data/spec/record/pagination_chain_spec.rb +3 -3
  111. data/spec/record/pagination_links_spec.rb +1 -1
  112. data/spec/record/pagination_spec.rb +1 -1
  113. data/spec/record/persisted_spec.rb +2 -1
  114. data/spec/record/references_spec.rb +1 -1
  115. data/spec/record/reload_by_id_spec.rb +1 -1
  116. data/spec/record/reload_spec.rb +2 -2
  117. data/spec/record/request_spec.rb +3 -3
  118. data/spec/record/scope_chains_spec.rb +1 -1
  119. data/spec/record/to_hash_spec.rb +1 -1
  120. data/spec/record/to_json_spec.rb +1 -1
  121. data/spec/record/where_chains_spec.rb +3 -3
  122. data/spec/record/where_spec.rb +1 -1
  123. data/spec/record/where_values_hash_spec.rb +1 -1
  124. data/spec/request_cycle_cache/main_spec.rb +2 -1
  125. data/spec/require_lhs_spec.rb +1 -1
  126. data/spec/support/cleanup.rb +1 -1
  127. data/spec/support/request_cycle_cache.rb +1 -1
  128. data/spec/views/form_for_spec.rb +1 -1
  129. metadata +47 -31
@@ -3,7 +3,7 @@ require 'lhs'
3
3
 
4
4
  describe LHS::Item do
5
5
 
6
- before(:each) do
6
+ before do
7
7
  class Record < LHS::Record
8
8
  endpoint 'http://datastore/v2/records'
9
9
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/v2/{campaign_id}/feedbacks'
7
7
  endpoint '{+datastore}/v2/feedbacks'
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  LHC.config.placeholder('datastore', datastore)
6
6
  class Record < LHS::Record
7
7
  endpoint '{+datastore}/v2/{campaign_id}/feedbacks'
@@ -40,7 +40,7 @@ describe LHS::Item do
40
40
  end
41
41
 
42
42
  context 'includes and empty response' do
43
- before(:each) do
43
+ before do
44
44
  class AnotherRecord < LHS::Record
45
45
  endpoint '{+datastore}/v2/:campaign_id/restaurants'
46
46
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/records'
7
7
  end
@@ -2,7 +2,7 @@ require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
4
  context 'error codes' do
5
- before(:each) do
5
+ before do
6
6
  I18n.reload!
7
7
  I18n.backend.store_translations(:en, YAML.safe_load(translation)) if translation.present?
8
8
  class Record < LHS::Record
@@ -50,7 +50,7 @@ describe LHS::Item do
50
50
  '<html></html>'
51
51
  end
52
52
 
53
- before(:each) do
53
+ before do
54
54
  I18n.reload!
55
55
  I18n.backend.store_translations(:en, {}) if defined? translations
56
56
  LHC.config.placeholder(:datastore, datastore)
@@ -68,7 +68,7 @@ describe LHS::Item do
68
68
  .to_return(status: 400, body: error_format_fields.to_json)
69
69
  result = record.save
70
70
  expect(result).to eq false
71
- expect(record.errors).to be
71
+ expect(record.errors).to be_present
72
72
  expect(record.errors.any?).to eq true
73
73
  expect(record.name).to eq 'Steve'
74
74
  expect(record.errors.include?(:ratings)).to eq true
@@ -81,8 +81,8 @@ describe LHS::Item do
81
81
  stub_request(:post, "#{datastore}/feedbacks")
82
82
  .to_return(status: 400, body: error_format_fields.to_json)
83
83
  record.save
84
- expect(record.errors.messages[:ratings]).to be
85
- expect(record.errors.messages['ratings']).to be
84
+ expect(record.errors.messages[:ratings]).to be_present
85
+ expect(record.errors.messages['ratings']).to be_present
86
86
  end
87
87
 
88
88
  it 'parses field errors correctly when creation failed' do
@@ -90,7 +90,7 @@ describe LHS::Item do
90
90
  .to_return(status: 400, body: error_format_field_errors.to_json)
91
91
  result = record.save
92
92
  expect(result).to eq false
93
- expect(record.errors).to be
93
+ expect(record.errors).to be_present
94
94
  expect(record.errors.any?).to eq true
95
95
  expect(record.errors.include?(:gender)).to eq true
96
96
  expect(record.errors.include?(:"contract.entry_id")).to eq true
@@ -102,7 +102,7 @@ describe LHS::Item do
102
102
  stub_request(:post, "#{datastore}/feedbacks")
103
103
  .to_return(status: 400, body: error_format_fields.to_json)
104
104
  expect { record.save! }.to raise_error(LHC::BadRequest)
105
- expect(record.errors).to be
105
+ expect(record.errors).to be_present
106
106
  expect(record.errors.any?).to eq true
107
107
  expect(record.name).to eq 'Steve'
108
108
  expect(record.errors.include?(:ratings)).to eq true
@@ -118,12 +118,12 @@ describe LHS::Item do
118
118
  .to_return(status: 400, body: error_format_field_errors.to_json)
119
119
  record = Record.build
120
120
  record.save
121
- expect(record.errors.raw).to be
121
+ expect(record.errors.raw).to be_present
122
122
  expect(record.errors.any?).to eq true
123
123
  json = JSON.parse(record.errors.raw)
124
- expect(json['status']).to be
125
- expect(json['message']).to be
126
- expect(json['field_errors']).to be
124
+ expect(json['status']).to be_present
125
+ expect(json['message']).to be_present
126
+ expect(json['field_errors']).to be_present
127
127
  end
128
128
  end
129
129
 
@@ -135,7 +135,7 @@ describe LHS::Item do
135
135
  record.name = 'Steve'
136
136
  result = record.save
137
137
  expect(result).to eq false
138
- expect(record.errors).to be
138
+ expect(record.errors).to be_present
139
139
  expect(record.errors.any?).to eq true
140
140
  expect(record.errors['error']).to eq ['missing_token']
141
141
  expect(record.errors['error_description']).to eq ['Bearer token is missing']
@@ -149,7 +149,7 @@ describe LHS::Item do
149
149
  record.name = 'Steve'
150
150
  result = record.save
151
151
  expect(result).to eq false
152
- expect(record.errors).to be
152
+ expect(record.errors).to be_present
153
153
  expect(record.errors.any?).to eq true
154
154
  expect(record.errors['body']).to eq ['parse error']
155
155
  end
@@ -162,7 +162,7 @@ describe LHS::Item do
162
162
  record.name = 'Steve'
163
163
  result = record.save
164
164
  expect(result).to eq false
165
- expect(record.errors).to be
165
+ expect(record.errors).to be_present
166
166
  expect(record.errors.any?).to eq true
167
167
  expect(record.errors['body']).to eq ['parse error']
168
168
  end
@@ -171,7 +171,7 @@ describe LHS::Item do
171
171
  describe '#clear' do
172
172
  let(:record) { Record.build(name: 'Steve') }
173
173
 
174
- before(:each) do
174
+ before do
175
175
  stub_request(:post, "#{datastore}/feedbacks")
176
176
  .to_return(status: 400, body: error_format_fields.to_json)
177
177
  end
@@ -219,7 +219,7 @@ describe LHS::Item do
219
219
 
220
220
  let(:errrors) { record.errors }
221
221
 
222
- before(:each) do
222
+ before do
223
223
  stub_request(:post, "#{datastore}/feedbacks")
224
224
  .to_return(status: 400, body: body_with_errors.to_json)
225
225
  end
@@ -228,14 +228,14 @@ describe LHS::Item do
228
228
  record.save
229
229
  expect(record.errors['address.street.name']).to include 'INCOMPLETE_PROPERTY_VALUE'
230
230
  expect(record.errors['reviews.0.name']).to include 'UNSUPPORTED_PROPERTY_VALUE'
231
- expect(record.address.errors).to be
232
- expect(record.address.errors['street.name']).to be
233
- expect(record.address.street.errors).to be
231
+ expect(record.address.errors).to be_present
232
+ expect(record.address.errors['street.name']).to be_present
233
+ expect(record.address.street.errors).to be_present
234
234
  expect(record.address.street.errors[:name]).to include 'INCOMPLETE_PROPERTY_VALUE'
235
- expect(record.reviews.errors).to be
236
- expect(record.reviews.first.errors).to be
235
+ expect(record.reviews.errors).to be_present
236
+ expect(record.reviews.first.errors).to be_present
237
237
  expect(record.reviews.first.errors[:name]).to include 'UNSUPPORTED_PROPERTY_VALUE'
238
- expect(record.reviews.last.errors).to be
238
+ expect(record.reviews.last.errors).to be_present
239
239
  expect(record.reviews.last.errors[:name]).to include 'UNSUPPORTED_PROPERTY_VALUE'
240
240
  end
241
241
 
@@ -253,7 +253,7 @@ describe LHS::Item do
253
253
  end
254
254
 
255
255
  context 'with general error fallback message configured' do
256
- before(:each) do
256
+ before do
257
257
  I18n.reload!
258
258
  I18n.backend.store_translations(:en, YAML.safe_load(translation)) if translation.present?
259
259
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/records'
7
7
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/v2/{campaign_id}/feedbacks'
7
7
  endpoint '{+datastore}/v2/feedbacks'
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Feedback < LHS::Record
6
6
  endpoint '{+datastore}/v2/feedbacks'
7
7
  endpoint '{+datastore}/v2/feedbacks/{id}'
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/records'
7
7
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/v2/{campaign_id}/feedbacks'
7
7
  endpoint '{+datastore}/v2/feedbacks'
@@ -62,7 +62,7 @@ describe LHS::Item do
62
62
 
63
63
  context 'records without hrefs and nested items' do
64
64
 
65
- before(:each) do
65
+ before do
66
66
  class Location < LHS::Record
67
67
  endpoint 'http://uberall/locations'
68
68
  endpoint 'http://uberall/locations/{id}'
@@ -80,7 +80,7 @@ describe LHS::Item do
80
80
 
81
81
  context 'records with nested items' do
82
82
 
83
- before(:each) do
83
+ before do
84
84
  class Location < LHS::Record
85
85
  endpoint 'http://uberall/locations'
86
86
  endpoint 'http://uberall/locations/{id}'
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/v2/{campaign_id}/feedbacks'
7
7
  endpoint '{+datastore}/v2/feedbacks'
@@ -23,7 +23,7 @@ describe LHS::Item do
23
23
  context 'endpoint options' do
24
24
  let(:headers) { { 'X-Header' => 'VALUE' } }
25
25
 
26
- before(:each) do
26
+ before do
27
27
  class RecordWithOptions < LHS::Record
28
28
  endpoint 'http://datastore/records', headers: { 'X-Header' => 'VALUE' }
29
29
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/v2/{campaign_id}/feedbacks'
7
7
  endpoint '{+datastore}/v2/feedbacks'
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint 'http://dataste/records'
7
7
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/v2/{campaign_id}/feedbacks'
7
7
  endpoint '{+datastore}/v2/feedbacks'
@@ -72,7 +72,7 @@ describe LHS::Item do
72
72
  .to_return(status: 400, body: validation_errors.to_json)
73
73
  end
74
74
 
75
- before(:each) do
75
+ before do
76
76
  class User < LHS::Record
77
77
  endpoint 'http://datastore/v2/users', validates: { params: { persist: false } }
78
78
  end
@@ -84,7 +84,7 @@ describe LHS::Item do
84
84
  user.email = 'not a valid email'
85
85
  failing_validation
86
86
  expect(user.valid?).to eq false
87
- expect(user.errors[:email]).to be
87
+ expect(user.errors[:email]).to be_present
88
88
  end
89
89
 
90
90
  it 'gets reset when revalidation' do
@@ -98,7 +98,7 @@ describe LHS::Item do
98
98
  end
99
99
 
100
100
  context 'endpoint does not support validations' do
101
- before(:each) do
101
+ before do
102
102
  class Favorite < LHS::Record
103
103
  endpoint '{+datastore}/v2/favorites'
104
104
  end
@@ -112,7 +112,7 @@ describe LHS::Item do
112
112
  end
113
113
 
114
114
  context 'generate validation url from locally passed params' do
115
- before(:each) do
115
+ before do
116
116
  class User < LHS::Record
117
117
  endpoint 'http://datastore/v2/users/{user_id}', validates: { params: { persist: false } }
118
118
  end
@@ -2,7 +2,7 @@ require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
4
  context 'error codes' do
5
- before(:each) do
5
+ before do
6
6
  I18n.reload!
7
7
  I18n.backend.store_translations(:en, YAML.safe_load(translation)) if translation.present?
8
8
  class Record < LHS::Record
@@ -2,13 +2,11 @@ require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
4
 
5
- before(:each) do
5
+ before do
6
6
  class Presence < LHS::Record
7
7
  endpoint 'http://opm/presence'
8
8
  end
9
- end
10
9
 
11
- before(:each) do
12
10
  I18n.reload!
13
11
  I18n.backend.store_translations(:en, YAML.safe_load(%q{
14
12
  lhs:
@@ -10,7 +10,7 @@ describe LHS::Record do
10
10
 
11
11
  let(:pagination) { LHS::Pagination::Offset.new(data) }
12
12
 
13
- before(:each) do
13
+ before do
14
14
  class Record < LHS::Record
15
15
  endpoint '{+datastore}/v2/data'
16
16
  end
@@ -3,7 +3,7 @@ require 'webrick'
3
3
 
4
4
  describe LHS::Record do
5
5
 
6
- before(:each) do
6
+ before do
7
7
  class Location < LHS::Record
8
8
  endpoint 'http://uberall/locations'
9
9
  configuration(
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Item do
4
- before(:each) do
4
+ before do
5
5
  class Feedback < LHS::Record
6
6
  endpoint 'http://datastore/v2/feedbacks/{id}'
7
7
  end
@@ -37,7 +37,7 @@ describe LHS::Item do
37
37
  end
38
38
 
39
39
  context 'without the object' do
40
- before(:each) do
40
+ before do
41
41
  stub_request(:get, "http://datastore/v2/feedbacks/1")
42
42
  .to_return(body: {
43
43
  review: {
@@ -56,7 +56,7 @@ describe LHS::Item do
56
56
  end
57
57
 
58
58
  context 'with existing item' do
59
- before(:each) do
59
+ before do
60
60
  stub_request(:get, "http://datastore/v2/feedbacks/1")
61
61
  .to_return(body: {
62
62
  review: {
@@ -92,7 +92,7 @@ describe LHS::Item do
92
92
  end
93
93
 
94
94
  context 'when expanded' do
95
- before(:each) do
95
+ before do
96
96
  stub_request(:get, "http://datastore/v2/feedbacks/1")
97
97
  .to_return(body: {
98
98
  reviews: {
@@ -114,7 +114,7 @@ describe LHS::Item do
114
114
  end
115
115
 
116
116
  context 'when not expanded' do
117
- before(:each) do
117
+ before do
118
118
  stub_request(:get, "http://datastore/v2/feedbacks/1")
119
119
  .to_return(body: {
120
120
  reviews: {
@@ -1,10 +1,13 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Proxy do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint '{+datastore}/v2/feedbacks'
7
7
  end
8
+
9
+ stub_request(:get, 'http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12d')
10
+ .to_return(status: 200, body: load_json(:localina_content_ad))
8
11
  end
9
12
 
10
13
  let(:json) do
@@ -23,19 +26,14 @@ describe LHS::Proxy do
23
26
  item.campaign
24
27
  end
25
28
 
26
- before(:each) do
27
- stub_request(:get, 'http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12d')
28
- .to_return(status: 200, body: load_json(:localina_content_ad))
29
- end
30
-
31
29
  context 'load' do
32
30
  it 'is loading data remotely when not present yet' do
33
- expect(link.load!.id).to be
34
- expect(link.id).to be
31
+ expect(link.load!.id).to be_present
32
+ expect(link.id).to be_present
35
33
  end
36
34
 
37
35
  it 'can be reloaded' do
38
- expect(link.load!.id).to be
36
+ expect(link.load!.id).to be_present
39
37
  stub_request(:get, 'http://local.ch/v2/content-ads/51dfc5690cf271c375c5a12d')
40
38
  .to_return(status: 404)
41
39
  expect(-> { link.reload!.id })
@@ -44,7 +42,7 @@ describe LHS::Proxy do
44
42
  end
45
43
 
46
44
  context 'endpoint options' do
47
- before(:each) do
45
+ before do
48
46
  class AnotherRecord < LHS::Record
49
47
  endpoint '{+datastore}/v2/feedbacks', params: { color: :blue }
50
48
  end