aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZog2018-04-26 09:07:26 +0200
committerZog2018-04-26 09:07:26 +0200
commit37cef4eca7eec2dbfc4be10334c787ce207b466e (patch)
treed628f5d5ab2027bb2d49c27625b42e4c6c28626f
parent25becea7c5c2df57019212f5e5ce7fb0766312ec (diff)
downloadchouette-core-37cef4eca7eec2dbfc4be10334c787ce207b466e.tar.bz2
Fix CustomField specs
-rw-r--r--app/models/custom_field.rb8
-rw-r--r--spec/models/custom_field_spec.rb16
2 files changed, 13 insertions, 11 deletions
diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb
index 15aee9a41..b5c08465d 100644
--- a/app/models/custom_field.rb
+++ b/app/models/custom_field.rb
@@ -147,10 +147,6 @@ class CustomField < ApplicationModel
@raw_value&.to_i
end
- def preprocess_value_for_assignment val
- val&.to_i
- end
-
def validate
@valid = true
return if @raw_value.is_a?(Fixnum) || @raw_value.is_a?(Float)
@@ -171,10 +167,6 @@ class CustomField < ApplicationModel
end
end
- def preprocess_value_for_assignment val
- val
- end
-
def display_value
return unless value
k = options["list_values"].is_a?(Hash) ? value.to_s : value.to_i
diff --git a/spec/models/custom_field_spec.rb b/spec/models/custom_field_spec.rb
index 54fd4f9d8..0c2644499 100644
--- a/spec/models/custom_field_spec.rb
+++ b/spec/models/custom_field_spec.rb
@@ -52,7 +52,17 @@ RSpec.describe CustomField, type: :model do
let(:ref2){ create :workbench_referential }
before do
create :custom_field, field_type: :integer, code: :ref1_energy, name: :energy, workgroup: ref1.workgroup, options: {default: 12}
- create :custom_field, field_type: :integer, code: :ref1_energy, name: :energy, workgroup: ref1.workgroup, options: {default: 12}, resource_type: "Company"
+ class CustomField
+ enumerize :field_type, in: %i{list integer string attachment float_test}
+ class Instance
+ class FloatTest < Integer
+ def preprocess_value_for_assignment val
+ val&.to_f
+ end
+ end
+ end
+ end
+ create :custom_field, field_type: :float_test, code: :ref1_energy, name: :energy, workgroup: ref1.workgroup, options: {default: 12}, resource_type: "Company"
create :custom_field, field_type: :integer, code: :ref2_energy, name: :energy, workgroup: ref2.workgroup
end
it "should only initialize fields from the right workgroup" do
@@ -61,7 +71,7 @@ RSpec.describe CustomField, type: :model do
expect(Chouette::VehicleJourney.new.custom_field_values["ref1_energy"]).to eq 12
expect(Chouette::VehicleJourney.new(custom_field_values: {ref1_energy: 13}).custom_field_values["ref1_energy"]).to eq 13
line_referential = create(:line_referential, workgroup: ref1.workgroup)
- expect(line_referential.companies.build(custom_field_values: {ref1_energy: "13"}).custom_field_values["ref1_energy"]).to eq 13
+ expect(line_referential.companies.build(custom_field_values: {ref1_energy: "13"}).custom_field_values["ref1_energy"]).to eq 13.0
ref2.switch
expect(Chouette::VehicleJourney.new.custom_fields.keys).to eq ["ref2_energy"]
@@ -120,7 +130,7 @@ RSpec.describe CustomField, type: :model do
if valid
expect(vj.validate).to be_truthy
else
- expect(vj.validate).to be_falsy
+ expect(vj.validate).to be_falsy, "#{val} should not ba a valid value"
expect(vj.errors.messages[:"custom_fields.energy"]).to be_present
end
end