lhs 15.3.1 → 15.3.2

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 (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