aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorZog2018-04-26 09:07:26 +0200
committerZog2018-04-26 09:07:26 +0200
commit37cef4eca7eec2dbfc4be10334c787ce207b466e (patch)
treed628f5d5ab2027bb2d49c27625b42e4c6c28626f /spec
parent25becea7c5c2df57019212f5e5ce7fb0766312ec (diff)
downloadchouette-core-37cef4eca7eec2dbfc4be10334c787ce207b466e.tar.bz2
Fix CustomField specs
Diffstat (limited to 'spec')
-rw-r--r--spec/models/custom_field_spec.rb16
1 files changed, 13 insertions, 3 deletions
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