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
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Proxy do
4
- before(:each) do
4
+ before do
5
5
  class Search < LHS::Record
6
6
  endpoint 'http://search/results', items_key: :docs
7
7
  end
@@ -2,7 +2,7 @@ require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
4
  context 'all' do
5
- before(:each) do
5
+ before do
6
6
  class Record < LHS::Record
7
7
  endpoint 'http://datastore/feedbacks'
8
8
  end
@@ -60,7 +60,7 @@ describe LHS::Record do
60
60
  end
61
61
 
62
62
  context 'all without current page indicator' do
63
- before(:each) do
63
+ before do
64
64
  class Category < LHS::Record
65
65
  configuration(
66
66
  items_key: %i(response results),
@@ -84,7 +84,7 @@ describe LHS::Record do
84
84
  )
85
85
  end
86
86
 
87
- it 'is able to fetch all remote objects without any current page indicator by simply increasing the offset until response is empty' do
87
+ it 'is able to fetch all remote objects without any current page indicator by simply increasing the offset until response is empty with a limit' do
88
88
  stub_batch('http://store/categories?language=en&max=10&offset=0')
89
89
  stub_batch('http://store/categories?language=en&max=10&offset=10')
90
90
  stub_batch('http://store/categories?language=en&max=10&offset=20')
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
  context 'build' do
5
5
  let(:datastore) { 'http://local.ch/v2' }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  LHC.config.placeholder('datastore', datastore)
9
9
  class Feedback < LHS::Record
10
10
  endpoint '{+datastore}/content-ads/{campaign_id}/feedbacks'
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
  context 'cast nested data' do
5
5
  let(:datastore) { 'http://local.ch/v2' }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  LHC.config.placeholder('datastore', datastore)
9
9
  class Customer < LHS::Record
10
10
  endpoint '{+datastore}/customers'
@@ -3,7 +3,7 @@ require 'rails_helper'
3
3
  describe LHS::Record do
4
4
  let(:handler) { spy('handler') }
5
5
 
6
- before(:each) do
6
+ before do
7
7
  class Record < LHS::Record
8
8
  endpoint 'http://local.ch/v2/records'
9
9
  end
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
  context 'create' do
5
5
  let(:datastore) { 'http://local.ch/v2' }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  LHC.config.placeholder('datastore', datastore)
9
9
  class Feedback < LHS::Record
10
10
  endpoint '{+datastore}/content-ads/{campaign_id}/feedbacks'
@@ -79,7 +79,7 @@ describe LHS::Record do
79
79
  end
80
80
 
81
81
  context 'custom setters' do
82
- before(:each) do
82
+ before do
83
83
  class Feedback
84
84
  def ratings=(ratings)
85
85
  _raw[:ratings] = ratings.map { |k, v| { name: k.to_s, value: v } }
@@ -117,7 +117,7 @@ describe LHS::Record do
117
117
  end
118
118
 
119
119
  context 'and custom getters' do
120
- before(:each) do
120
+ before do
121
121
  class Feedback
122
122
  def ratings
123
123
  Hash[_raw[:ratings].map { |r| [r[:name].to_sym, r[:value]] }]
@@ -133,7 +133,7 @@ describe LHS::Record do
133
133
  end
134
134
 
135
135
  context 'location header' do
136
- before(:each) do
136
+ before do
137
137
  class ContactPerson < LHS::Record
138
138
  endpoint 'http://datastore/contact_persons'
139
139
  end
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
  context 'creation failed' do
5
5
  let(:datastore) { 'http://local.ch/v2' }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  LHC.config.placeholder(:datastore, datastore)
9
9
  class Record < LHS::Record
10
10
  endpoint '{+datastore}/{campaign_id}/feedbacks'
@@ -35,7 +35,7 @@ describe LHS::Record do
35
35
  .to_return(status: 400, body: creation_error.to_json)
36
36
  record = Record.create(name: 'Steve')
37
37
  expect(record).to be_kind_of Record
38
- expect(record.errors).to be
38
+ expect(record.errors).to be_present
39
39
  expect(record.name).to eq 'Steve'
40
40
  expect(record.errors.include?(:ratings)).to eq true
41
41
  expect(record.errors.include?(:recommended)).to eq true
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
  context 'definitions' do
5
5
  let(:datastore) { 'http://local.ch/v2' }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  LHC.config.placeholder('datastore', datastore)
9
9
  class LocalEntry < LHS::Record
10
10
  endpoint '{+datastore}/local-entries'
@@ -2,7 +2,7 @@ require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
4
  context 'destroy' do
5
- before(:each) do
5
+ before do
6
6
  class Record < LHS::Record
7
7
  endpoint 'http://datastore/history'
8
8
  endpoint 'http://datastore/history/{id}'
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
- before(:each) do
4
+ before do
5
5
  class Business < LHS::Record
6
6
  configuration(
7
7
  items_key: [:response, :businesses],
@@ -2,7 +2,7 @@ require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
4
  context 'inherit endpoints' do
5
- before(:each) do
5
+ before do
6
6
  class Base < LHS::Record
7
7
  endpoint 'records/{id}'
8
8
  end
@@ -20,7 +20,7 @@ describe LHS::Record do
20
20
  end
21
21
 
22
22
  context 'define endpoints in subclass' do
23
- before(:each) do
23
+ before do
24
24
  class Base < LHS::Record
25
25
  endpoint 'records/{id}'
26
26
  end
@@ -40,7 +40,7 @@ describe LHS::Record do
40
40
  end
41
41
 
42
42
  context 'clashing endpoints between super and subclass' do
43
- before(:each) do
43
+ before do
44
44
  class Base < LHS::Record
45
45
  endpoint 'records'
46
46
  end
@@ -2,7 +2,7 @@ require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
4
  context 'set options for an endpoint' do
5
- before(:each) do
5
+ before do
6
6
  class Record < LHS::Record
7
7
  endpoint 'backend/v2/feedbacks/{id}', cache_expires_in: 1.day, retry: 2, cache: true
8
8
  end
@@ -20,7 +20,7 @@ describe LHS::Record do
20
20
 
21
21
  context 'deep merge endpoint options' do
22
22
 
23
- before(:each) do
23
+ before do
24
24
  class Location < LHS::Record
25
25
  endpoint 'http://uberall/locations', headers: { privateKey: '123' }
26
26
  end
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
  context 'endpoints' do
5
5
  let(:datastore) { 'http://local.ch/v2' }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  LHC.config.placeholder(:datastore, datastore)
9
9
  class Record < LHS::Record
10
10
  endpoint '{+datastore}/entries/{entry_id}/content-ads/{campaign_id}/feedbacks'
@@ -14,9 +14,9 @@ describe LHS::Record do
14
14
  end
15
15
 
16
16
  it 'stores all the endpoints by url' do
17
- expect(LHS::Record::Endpoints.all['{+datastore}/entries/{entry_id}/content-ads/{campaign_id}/feedbacks']).to be
18
- expect(LHS::Record::Endpoints.all['{+datastore}/{campaign_id}/feedbacks']).to be
19
- expect(LHS::Record::Endpoints.all['{+datastore}/feedbacks']).to be
17
+ expect(LHS::Record::Endpoints.all['{+datastore}/entries/{entry_id}/content-ads/{campaign_id}/feedbacks']).to be_present
18
+ expect(LHS::Record::Endpoints.all['{+datastore}/{campaign_id}/feedbacks']).to be_present
19
+ expect(LHS::Record::Endpoints.all['{+datastore}/feedbacks']).to be_present
20
20
  end
21
21
 
22
22
  it 'stores the endpoints of the service' do
@@ -42,7 +42,7 @@ describe LHS::Record do
42
42
  end
43
43
 
44
44
  context 'compute url from endpoint' do
45
- before(:each) do
45
+ before do
46
46
  class Feedback < LHS::Record
47
47
  endpoint '{+datastore}/feedbacks'
48
48
  endpoint '{+datastore}/feedbacks/{id}'
@@ -56,7 +56,7 @@ describe LHS::Record do
56
56
  end
57
57
 
58
58
  context 'unsorted endpoints' do
59
- before(:each) do
59
+ before do
60
60
  class AnotherRecord < LHS::Record
61
61
  endpoint '{+datastore}/feedbacks'
62
62
  endpoint '{+datastore}/{campaign_id}/feedbacks'
@@ -71,7 +71,7 @@ describe LHS::Record do
71
71
  end
72
72
 
73
73
  context 'includes data without considering base endpoint of parent record if url is present' do
74
- before(:each) do
74
+ before do
75
75
  class Contract < LHS::Record
76
76
  endpoint '{+datastore}/contracts/:id'
77
77
  endpoint '{+datastore}/entry/{entry_id}/contracts'
@@ -2,7 +2,7 @@ require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
4
  context 'equality' do
5
- before(:each) do
5
+ before do
6
6
  class Record < LHS::Record
7
7
  endpoint 'http://local.ch/records'
8
8
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint 'http://local.ch/v2/records'
7
7
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint 'http://datastore/records/'
7
7
  end
@@ -1,7 +1,7 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint 'http://datastore/records/'
7
7
  end
@@ -3,7 +3,7 @@ require 'rails_helper'
3
3
  describe LHS::Record do
4
4
  let(:datastore) { 'http://local.ch/v2' }
5
5
 
6
- before(:each) do
6
+ before do
7
7
  LHC.config.placeholder(:datastore, datastore)
8
8
  class Record < LHS::Record
9
9
  endpoint '{+datastore}/content-ads/{campaign_id}/feedbacks'
@@ -44,7 +44,7 @@ describe LHS::Record do
44
44
  end
45
45
 
46
46
  context 'when record has custom configurations for limit_key' do
47
- before :each do
47
+ before do
48
48
  class Record < LHS::Record
49
49
  endpoint '{+datastore}/feedbacks/{id}'
50
50
  configuration(
@@ -17,7 +17,7 @@ describe LHS::Collection do
17
17
 
18
18
  let(:datastore) { 'http://local.ch/v2' }
19
19
 
20
- before(:each) do
20
+ before do
21
21
  LHC.config.placeholder('datastore', datastore)
22
22
  class Record < LHS::Record
23
23
  endpoint '{+datastore}/{campaign_id}/feedbacks'
@@ -17,7 +17,7 @@ describe LHS::Collection do
17
17
 
18
18
  let(:datastore) { 'http://local.ch/v2' }
19
19
 
20
- before(:each) do
20
+ before do
21
21
  LHC.config.placeholder('datastore', datastore)
22
22
  class Record < LHS::Record
23
23
  endpoint '{+datastore}/{campaign_id}/feedbacks'
@@ -65,7 +65,7 @@ describe LHS::Collection do
65
65
  end
66
66
 
67
67
  context 'configured pagination' do
68
- before(:each) do
68
+ before do
69
69
  class Record < LHS::Record
70
70
  endpoint '{+datastore}/{campaign_id}/feedbacks'
71
71
  endpoint '{+datastore}/feedbacks'
@@ -1,14 +1,14 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe LHS::Record do
4
- before(:each) do
4
+ before do
5
5
  class Record < LHS::Record
6
6
  endpoint 'http://datastore/records/{id}'
7
7
  end
8
8
  end
9
9
 
10
10
  context 'find in parallel' do
11
- before(:each) do
11
+ before do
12
12
  stub_request(:get, "http://datastore/records/1").to_return(status: 200, body: { id: 1 }.to_json)
13
13
  stub_request(:get, "http://datastore/records/3").to_return(status: 200, body: { id: 3 }.to_json)
14
14
  end
@@ -3,7 +3,7 @@ require 'rails_helper'
3
3
  describe LHS::Record do
4
4
  let(:datastore) { 'http://local.ch/v2' }
5
5
 
6
- before(:each) do
6
+ before do
7
7
  LHC.config.placeholder(:datastore, datastore)
8
8
  class Record < LHS::Record
9
9
  endpoint '{+datastore}/content-ads/{campaign_id}/feedbacks'
@@ -15,7 +15,7 @@ describe LHS::Record do
15
15
 
16
16
  context 'find' do
17
17
  context 'finds a single unique record' do
18
- before(:each) do
18
+ before do
19
19
  stub_request(:get, "#{datastore}/feedbacks/z12f-3asm3ngals")
20
20
  .to_return(status: 200, body: load_json(:feedback))
21
21
  end
@@ -34,7 +34,7 @@ describe LHS::Record do
34
34
  end
35
35
 
36
36
  context 'endpoint without identifier' do
37
- before :each do
37
+ before do
38
38
  class LatestAGB < LHS::Record
39
39
  endpoint 'agbs/latest'
40
40
  end
@@ -3,7 +3,7 @@ require 'rails_helper'
3
3
  describe LHS::Record do
4
4
  let(:datastore) { 'http://local.ch/v2' }
5
5
 
6
- before(:each) do
6
+ before do
7
7
  LHC.config.placeholder(:datastore, datastore)
8
8
  class Record < LHS::Record
9
9
  endpoint '{+datastore}/content-ads/{campaign_id}/feedbacks'
@@ -17,7 +17,7 @@ describe LHS::Record do
17
17
  .to_return(status: 200, body: load_json(:feedback))
18
18
  record = Record.first
19
19
  expect(record).to be_kind_of Record
20
- expect(record.source_id).to be
20
+ expect(record.source_id).to be_present
21
21
  end
22
22
 
23
23
  it 'returns nil if no record was found' do
@@ -3,7 +3,7 @@ require 'rails_helper'
3
3
  describe LHS::Record do
4
4
  let(:handler) { spy('handler') }
5
5
 
6
- before(:each) do
6
+ before do
7
7
  class Record < LHS::Record
8
8
  endpoint 'http://local.ch/v2/records/{id}'
9
9
  end
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
 
5
5
  let(:listing) { location.listings.first }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  stub_request(:get, 'http://uberall/locations/1')
9
9
  .to_return(body: {
10
10
  listings: [{
@@ -15,7 +15,7 @@ describe LHS::Record do
15
15
 
16
16
  context 'has_many' do
17
17
 
18
- before(:each) do
18
+ before do
19
19
  class Location < LHS::Record
20
20
  endpoint 'http://uberall/locations'
21
21
  endpoint 'http://uberall/locations/{id}'
@@ -45,7 +45,7 @@ describe LHS::Record do
45
45
 
46
46
  context 'custom class_name' do
47
47
 
48
- before(:each) do
48
+ before do
49
49
  module Uberall
50
50
  class Location < LHS::Record
51
51
  endpoint 'http://uberall/locations'
@@ -4,7 +4,7 @@ describe LHS::Record do
4
4
  let(:handler) { spy('handler') }
5
5
  let(:record_json) { { color: 'blue' }.to_json }
6
6
 
7
- before(:each) do
7
+ before do
8
8
  class Record < LHS::Record
9
9
  endpoint 'http://local.ch/v2/records'
10
10
  endpoint 'http://local.ch/v2/records/{id}'
@@ -23,7 +23,7 @@ describe LHS::Record do
23
23
  end
24
24
 
25
25
  context 'multiple ignored errors' do
26
- it 'ignores error if one of them is specified' do
26
+ it 'ignores error if first of them is specified' do
27
27
  stub_request(:get, "http://local.ch/v2/records?color=blue").to_return(status: 401)
28
28
  record = Record
29
29
  .ignore(LHC::Unauthorized)
@@ -33,7 +33,7 @@ describe LHS::Record do
33
33
  expect(record).to eq nil
34
34
  end
35
35
 
36
- it 'ignores error if one of them is specified' do
36
+ it 'ignores error if last of them is specified' do
37
37
  stub_request(:get, "http://local.ch/v2/records?color=blue").to_return(status: 404)
38
38
  record = Record
39
39
  .ignore(LHC::Unauthorized)
@@ -53,15 +53,6 @@ describe LHS::Record do
53
53
  expect(record).to eq nil
54
54
  end
55
55
 
56
- it 'can ignore multiple error with one ignore call' do
57
- stub_request(:get, "http://local.ch/v2/records?color=blue").to_return(status: 401)
58
- record = Record
59
- .ignore(LHC::Unauthorized, LHC::NotFound)
60
- .where(color: 'blue')
61
- .fetch
62
- expect(record).to eq nil
63
- end
64
-
65
56
  it 'can ignore multiple error with one ignore call, on chain start' do
66
57
  stub_request(:get, "http://local.ch/v2/records?color=blue").to_return(status: 401)
67
58
  record = Record
@@ -100,7 +91,7 @@ describe LHS::Record do
100
91
  expect(record).to eq nil
101
92
  end
102
93
 
103
- it 'returns nil also when ignoring errors on find' do
94
+ it 'returns nil also when ignoring errors on fetch' do
104
95
  stub_request(:get, "http://local.ch/v2/records?color=blue").to_return(status: 500, body: body)
105
96
  record = Record
106
97
  .ignore(LHC::Error)
@@ -109,7 +100,7 @@ describe LHS::Record do
109
100
  expect(record).to eq nil
110
101
  end
111
102
 
112
- it 'returns nil also when ignoring errors on find' do
103
+ it 'returns nil also when ignoring errors on find_by' do
113
104
  stub_request(:get, "http://local.ch/v2/records?color=blue&limit=1").to_return(status: 500, body: body)
114
105
  record = Record
115
106
  .ignore(LHC::Error)