diff options
13 files changed, 27 insertions, 13 deletions
| diff --git a/app/models/compliance_check_block.rb b/app/models/compliance_check_block.rb index 05240b428..059547e1b 100644 --- a/app/models/compliance_check_block.rb +++ b/app/models/compliance_check_block.rb @@ -6,8 +6,8 @@ class ComplianceCheckBlock < ActiveRecord::Base    has_many :compliance_checks -  hstore_accessor :condition_attributes, -    transport_mode: :string, -    transport_submode: :string +  store_accessor :condition_attributes, +    :transport_mode, +    :transport_submode  end diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb index 65e22643d..847e3a253 100644 --- a/app/models/compliance_control.rb +++ b/app/models/compliance_control.rb @@ -39,7 +39,6 @@ class ComplianceControl < ActiveRecord::Base    belongs_to :compliance_control_block    enumerize :criticity, in: criticities, scope: true, default: :warning -  hstore_accessor :control_attributes, {}    validates :criticity, presence: true    validates :name, presence: true diff --git a/app/models/compliance_control_block.rb b/app/models/compliance_control_block.rb index e27f85ae0..d7d84fd06 100644 --- a/app/models/compliance_control_block.rb +++ b/app/models/compliance_control_block.rb @@ -5,9 +5,9 @@ class ComplianceControlBlock < ActiveRecord::Base    belongs_to :compliance_control_set    has_many :compliance_controls, dependent: :destroy -  hstore_accessor :condition_attributes, -    transport_mode: :string, -    transport_submode: :string +  store_accessor :condition_attributes, +    :transport_mode, +    :transport_submode    validates :transport_mode, presence: true    validates :compliance_control_set, presence: true diff --git a/app/models/generic_attribute_control/min_max.rb b/app/models/generic_attribute_control/min_max.rb index ab6f546a7..1c429b9a4 100644 --- a/app/models/generic_attribute_control/min_max.rb +++ b/app/models/generic_attribute_control/min_max.rb @@ -1,6 +1,6 @@  module GenericAttributeControl    class MinMax < ComplianceControl -    hstore_accessor :control_attributes, minimum: :integer, maximum: :integer, target: :string +    store_accessor :control_attributes, :minimum, :maximum, :target      validates :minimum, numericality: true, allow_nil: true      validates :maximum, numericality: true, allow_nil: true diff --git a/app/models/generic_attribute_control/pattern.rb b/app/models/generic_attribute_control/pattern.rb index 3a4a55d5c..7fc008e28 100644 --- a/app/models/generic_attribute_control/pattern.rb +++ b/app/models/generic_attribute_control/pattern.rb @@ -1,6 +1,6 @@  module GenericAttributeControl    class Pattern < ComplianceControl -    hstore_accessor :control_attributes, pattern: :string, target: :string +    store_accessor :control_attributes, :pattern, :target      validates :target, presence: true      validates :pattern, presence: true diff --git a/app/models/generic_attribute_control/uniqueness.rb b/app/models/generic_attribute_control/uniqueness.rb index f707c944b..82b5c0892 100644 --- a/app/models/generic_attribute_control/uniqueness.rb +++ b/app/models/generic_attribute_control/uniqueness.rb @@ -1,6 +1,6 @@  module GenericAttributeControl    class Uniqueness < ComplianceControl -    hstore_accessor :control_attributes, target: :string +    store_accessor :control_attributes, :target      validates :target, presence: true diff --git a/app/models/vehicle_journey_control/delta.rb b/app/models/vehicle_journey_control/delta.rb index 1f3a4d492..077dd6c4a 100644 --- a/app/models/vehicle_journey_control/delta.rb +++ b/app/models/vehicle_journey_control/delta.rb @@ -1,7 +1,7 @@  module VehicleJourneyControl    class Delta < ComplianceControl -    hstore_accessor :control_attributes, maximum: :integer +    store_accessor :control_attributes, :maximum      validates :maximum, numericality: true, allow_nil: true diff --git a/app/models/vehicle_journey_control/speed.rb b/app/models/vehicle_journey_control/speed.rb index be9f838e4..14fad9139 100644 --- a/app/models/vehicle_journey_control/speed.rb +++ b/app/models/vehicle_journey_control/speed.rb @@ -1,6 +1,6 @@  module VehicleJourneyControl    class Speed < ComplianceControl -    hstore_accessor :control_attributes, minimum: :integer, maximum: :integer +    store_accessor :control_attributes, :minimum, :maximum      validates :minimum, numericality: true, allow_nil: true      validates :maximum, numericality: true, allow_nil: true diff --git a/app/models/vehicle_journey_control/waiting_time.rb b/app/models/vehicle_journey_control/waiting_time.rb index 68fccb5c1..252135f04 100644 --- a/app/models/vehicle_journey_control/waiting_time.rb +++ b/app/models/vehicle_journey_control/waiting_time.rb @@ -1,6 +1,6 @@  module VehicleJourneyControl    class WaitingTime < ComplianceControl -    hstore_accessor :control_attributes, maximum: :integer +    store_accessor :control_attributes, :maximum      validates :maximum, numericality: true, allow_nil: true diff --git a/spec/models/compliance_control_class_level_defaults/generic_attribute_control/pattern_cccld_spec.rb b/spec/models/compliance_control_class_level_defaults/generic_attribute_control/pattern_cccld_spec.rb index 9610cc796..90bb660ee 100644 --- a/spec/models/compliance_control_class_level_defaults/generic_attribute_control/pattern_cccld_spec.rb +++ b/spec/models/compliance_control_class_level_defaults/generic_attribute_control/pattern_cccld_spec.rb @@ -4,4 +4,7 @@ RSpec.describe GenericAttributeControl::Pattern, type: :model do    let( :factory ){ :generic_attribute_control_pattern }    it_behaves_like 'ComplianceControl Class Level Defaults' +  it_behaves_like 'has target attribute' + +  it { should validate_presence_of(:pattern) }  end diff --git a/spec/models/compliance_control_class_level_defaults/generic_attribute_control/uniqueness_cccld_spec.rb b/spec/models/compliance_control_class_level_defaults/generic_attribute_control/uniqueness_cccld_spec.rb index e4ab8d2cd..c4874b5a2 100644 --- a/spec/models/compliance_control_class_level_defaults/generic_attribute_control/uniqueness_cccld_spec.rb +++ b/spec/models/compliance_control_class_level_defaults/generic_attribute_control/uniqueness_cccld_spec.rb @@ -4,4 +4,5 @@ RSpec.describe GenericAttributeControl::Uniqueness, type: :model do    let( :factory ){ :generic_attribute_control_uniqueness }    it_behaves_like 'ComplianceControl Class Level Defaults'  +  it_behaves_like 'has target attribute'  end diff --git a/spec/models/compliance_control_validations/genric_attribute_validation/min_max_validation_spec.rb b/spec/models/compliance_control_validations/genric_attribute_validation/min_max_validation_spec.rb index 4d30d61e3..138f7aae1 100644 --- a/spec/models/compliance_control_validations/genric_attribute_validation/min_max_validation_spec.rb +++ b/spec/models/compliance_control_validations/genric_attribute_validation/min_max_validation_spec.rb @@ -4,5 +4,6 @@ RSpec.describe GenericAttributeControl::MinMax do    subject{ build factory }    it_behaves_like 'has min_max_values' +  it_behaves_like 'has target attribute'  end diff --git a/spec/support/shared_examples/compliance_control_validation.rb b/spec/support/shared_examples/compliance_control_validation.rb index d4ab9f41d..c76712c4c 100644 --- a/spec/support/shared_examples/compliance_control_validation.rb +++ b/spec/support/shared_examples/compliance_control_validation.rb @@ -1,6 +1,9 @@  RSpec.shared_examples_for 'has min_max_values' do    context "is valid" do +    it { should validate_numericality_of(:minimum) } +    it { should validate_numericality_of(:maximum) } +      it 'if no value is provided' do        expect_it.to be_valid      end @@ -41,3 +44,10 @@ RSpec.shared_examples_for 'has min_max_values' do      end    end  end + + +RSpec.shared_examples_for "has target attribute" do +  context "is valid" do +    it { should validate_presence_of(:target) } +  end +end | 
