aboutsummaryrefslogtreecommitdiffstats
path: root/spec/models/concerns
diff options
context:
space:
mode:
authorRobert2017-08-21 20:24:50 +0200
committerRobert2017-08-22 09:37:30 +0200
commit61c4a303183284fc107325aeeef5ace7a3e68c0c (patch)
tree71bbfe5e5fe9eddb9e381aa0536b44476f461bc1 /spec/models/concerns
parent327b1ec771a056451b0635ba80cc346fa1765299 (diff)
downloadchouette-core-61c4a303183284fc107325aeeef5ace7a3e68c0c.tar.bz2
Refs: #4273@3h;
Debugging Java Integration (ZipService -> HTTPService -> Object Creation) - Created an ErrorFormat concern to see what went wrong in the HTTP call as so many things can go wrong due to: * Timeout Issues * Illegal database setup or cleaning before tests
Diffstat (limited to 'spec/models/concerns')
-rw-r--r--spec/models/concerns/error_format_spec.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/models/concerns/error_format_spec.rb b/spec/models/concerns/error_format_spec.rb
new file mode 100644
index 000000000..7f7df22b6
--- /dev/null
+++ b/spec/models/concerns/error_format_spec.rb
@@ -0,0 +1,35 @@
+RSpec.describe ErrorFormat do
+
+ context '#details' do
+ context 'are empty' do
+ it 'if no errors are present' do
+ expect( described_class.details(create :referential) ).to be_empty
+ end
+
+ it 'if no validation has been carried out' do
+ invalid = build :referential, name: nil
+ expect( described_class.details(invalid) ).to be_empty
+ end
+ end
+
+ context 'are not empty' do
+ it 'if an error is present and validation has been carried out' do
+ invalid = build :referential, name: nil
+ expect( invalid ).not_to be_valid
+ expect( described_class.details(invalid) ).to eq([
+ {name: {error: 'doit ĂȘtre rempli(e)', value: nil}}
+ ])
+ end
+
+ it 'and can even hold many errors' do
+ create :referential, name: 'hello'
+ invalid = build :referential, name: 'hello', slug: 'hello world'
+ expect( invalid ).not_to be_valid
+ expect( described_class.details(invalid) ).to eq([
+ {name: {error: "n'est pas disponible", value: 'hello'}},
+ {slug: {error: "n'est pas valide", value: 'hello world'}}
+ ])
+ end
+ end
+ end
+end