lhs 7.2.1 → 7.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 438db5368d4104d56de30c647d820ed788cecdcf
4
- data.tar.gz: c1fa77d04b224f5abb3761ef0999559d4afde596
3
+ metadata.gz: 362edc3fc0fc431ab0a20d6579d13098ad00f06a
4
+ data.tar.gz: 9505d7594bbdc3a073796407c257a979df0b8bcb
5
5
  SHA512:
6
- metadata.gz: ea1065bb1fca7054692d37d2ce43e0f12f4cd27536cf4f9f386d579460541856afdfce3b811b87efbe821c24b23eff3f8c2b5e3016ed493a58ade79464a0b6f6
7
- data.tar.gz: 254cea22f98f880082a51f83987ee0cf419d20475d4c51aacd796ef9982f6183f61645d0bc04b133419c212167697d3f241bfee58dbda840711ebff5e63561a7
6
+ metadata.gz: 9c14a4998fcbeabf8a2e0f843e72e3afea543bcfe2489b8ce37587f9ced6b7bc98f2bf9dc7fcc07da82d283d87e4600ac313bc573c6a82518cc5e5785fd26c0b
7
+ data.tar.gz: 5ddebec7d8435c702ed31d157d83027a332c73fad654ec40cf281b7aca098f84f3a5af8c10ae2160a46920f50336c87310fd0ec205236bb3c4b2589789d8d805
@@ -8,8 +8,7 @@ class LHS::Item < LHS::Proxy
8
8
 
9
9
  def save(options = nil)
10
10
  save!(options)
11
- rescue LHC::Error => e
12
- self.errors = LHS::Errors.new(e.response)
11
+ rescue LHC::Error
13
12
  false
14
13
  end
15
14
 
@@ -33,6 +32,9 @@ class LHS::Item < LHS::Proxy
33
32
  data = record_for_persistance.request(options)
34
33
  _data.merge_raw!(data)
35
34
  true
35
+ rescue LHC::Error => e
36
+ self.errors = LHS::Errors.new(e.response)
37
+ raise e
36
38
  end
37
39
 
38
40
  private
@@ -1,3 +1,3 @@
1
1
  module LHS
2
- VERSION = "7.2.1"
2
+ VERSION = "7.2.2"
3
3
  end
@@ -59,11 +59,11 @@ describe LHS::Item do
59
59
  end
60
60
 
61
61
  context 'save failed' do
62
+ let(:record) { Record.build(name: 'Steve') }
63
+
62
64
  it 'parses fields correctly when creation failed' do
63
65
  stub_request(:post, "#{datastore}/feedbacks")
64
66
  .to_return(status: 400, body: error_format_fields.to_json)
65
- record = Record.build
66
- record.name = 'Steve'
67
67
  result = record.save
68
68
  expect(result).to eq false
69
69
  expect(record.errors).to be
@@ -78,8 +78,6 @@ describe LHS::Item do
78
78
  it 'parses field errors correctly when creation failed' do
79
79
  stub_request(:post, "#{datastore}/feedbacks")
80
80
  .to_return(status: 400, body: error_format_field_errors.to_json)
81
- record = Record.build
82
- record.name = 'Steve'
83
81
  result = record.save
84
82
  expect(result).to eq false
85
83
  expect(record.errors).to be
@@ -89,6 +87,19 @@ describe LHS::Item do
89
87
  expect(record.errors[:gender]).to eq ['UNSUPPORTED_PROPERTY_VALUE', 'INCOMPLETE_PROPERTY_VALUE']
90
88
  expect(record.errors[:"contract.entry_id"]).to eq ['INCOMPLETE_PROPERTY_VALUE']
91
89
  end
90
+
91
+ it 'parses field errors correctly when exception in raised' do
92
+ stub_request(:post, "#{datastore}/feedbacks")
93
+ .to_return(status: 400, body: error_format_fields.to_json)
94
+ expect { record.save! }.to raise_error(LHC::BadRequest)
95
+ expect(record.errors).to be
96
+ expect(record.errors.any?).to eq true
97
+ expect(record.name).to eq 'Steve'
98
+ expect(record.errors.include?(:ratings)).to eq true
99
+ expect(record.errors.include?(:recommended)).to eq true
100
+ expect(record.errors[:ratings]).to eq ['REQUIRED_PROPERTY_VALUE', 'UNSUPPORTED_PROPERTY_VALUE']
101
+ expect(record.errors[:recommended]).to eq ['REQUIRED_PROPERTY_VALUE']
102
+ end
92
103
  end
93
104
 
94
105
  context 'raw error data' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhs
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.1
4
+ version: 7.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://github.com/local-ch/lhs/graphs/contributors
@@ -376,7 +376,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
376
376
  requirements:
377
377
  - Ruby >= 2.0.0
378
378
  rubyforge_project:
379
- rubygems_version: 2.6.8
379
+ rubygems_version: 2.5.2
380
380
  signing_key:
381
381
  specification_version: 4
382
382
  summary: Rails gem providing an easy, active-record-like interface for http json services