aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2017-10-14 18:22:45 +0200
committerLuc Donnet2017-10-14 18:23:16 +0200
commit584bc2b59ecf95ee1021596e8f3583d9af97a5a7 (patch)
treed68bc9fefb0102c92e501f9b541987125dc94f29
parent16e9fe5e4e75f2df98f0da371062d572fa45a48b (diff)
downloadchouette-core-584bc2b59ecf95ee1021596e8f3583d9af97a5a7.tar.bz2
Fix translations for compliance_control type translation, compliance_control validation, compliance_control module
-rw-r--r--app/controllers/compliance_controls_controller.rb32
-rw-r--r--app/models/compliance_control.rb13
-rw-r--r--app/models/generic_attribute_control/min_max.rb3
-rw-r--r--app/models/generic_attribute_control/pattern.rb8
-rw-r--r--app/models/generic_attribute_control/uniqueness.rb5
-rw-r--r--app/models/vehicle_journey_control/delta.rb2
-rw-r--r--app/models/vehicle_journey_control/speed.rb3
-rw-r--r--app/models/vehicle_journey_control/time_table.rb (renamed from app/models/route_control/time_table.rb)2
-rw-r--r--app/models/vehicle_journey_control/vehicle_journey_at_stops.rb (renamed from app/models/route_control/vehicle_journey_at_stops.rb)2
-rw-r--r--app/models/vehicle_journey_control/waiting_time.rb2
-rw-r--r--app/views/compliance_controls/_form.html.slim4
-rw-r--r--app/views/compliance_controls/select_type.html.slim4
-rw-r--r--app/views/compliance_controls/show.html.slim4
-rw-r--r--config/initializers/apartment.rb4
-rw-r--r--config/locales/compliance_controls.fr.yml55
-rw-r--r--lib/model_attribute.rb2
-rw-r--r--spec/factories/compliance_controls/route_control_factories.rb8
-rw-r--r--spec/factories/compliance_controls/vehicle_journey_control_factories.rb8
-rw-r--r--spec/models/compliance_control_class_level_defaults/generic_attribute_control/pattern_cccld_spec.rb4
-rw-r--r--spec/models/compliance_control_class_level_defaults/route_control/time_table_cccld_spec.rb7
-rw-r--r--spec/models/compliance_control_class_level_defaults/route_control/vehicle_journey_at_stops_cccld_spec.rb7
-rw-r--r--spec/models/compliance_control_class_level_defaults/vehicle_journey_control/speed_cccld_spec.rb7
-rw-r--r--spec/models/compliance_control_class_level_defaults/vehicle_journey_control/time_table_cccld_spec.rb7
-rw-r--r--spec/models/compliance_control_class_level_defaults/vehicle_journey_control/vehicle_journey_at_stops_cccld_spec.rb7
24 files changed, 118 insertions, 82 deletions
diff --git a/app/controllers/compliance_controls_controller.rb b/app/controllers/compliance_controls_controller.rb
index d7d84afb3..6fe799267 100644
--- a/app/controllers/compliance_controls_controller.rb
+++ b/app/controllers/compliance_controls_controller.rb
@@ -7,26 +7,42 @@ class ComplianceControlsController < BreadcrumbController
end
def new
- if params[:sti_class]
- @compliance_control_set = parent
- @compliance_control = params[:sti_class].constantize.new
- else
+ if params[:sti_class].blank?
+ flash[:notice] = I18n.t("compliance_controls.errors.mandatory_control_type")
redirect_to(action: :select_type)
end
+ new!
end
def create
- create! { compliance_control_set_path(parent) }
+ create! do |success, failure|
+ success.html { redirect_to compliance_control_set_path(parent) }
+ failure.html { render( :action => 'new' ) }
+ end
+ end
+
+ protected
+
+ alias_method :compliance_control_set, :parent
+ alias_method :compliance_control, :resource
+
+ def build_resource
+ @compliance_control ||= compliance_control_class.new compliance_control_set: parent
end
private
+
+ def compliance_control_class
+ (params[:sti_class] || params[:compliance_control][:type]).constantize
+ end
+
def dynamic_attributes_params
- params.require(:compliance_control).permit(:type).values[0].constantize.dynamic_attributes
+ compliance_control_class.dynamic_attributes
end
def compliance_control_params
base = [:name, :code, :origin_code, :criticity, :comment, :control_attributes, :type, :compliance_control_block_id]
- permited = base + dynamic_attributes_params
- params.require(:compliance_control).permit(permited)
+ permitted = base + dynamic_attributes_params
+ params.require(:compliance_control).permit(permitted)
end
end
diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb
index 363ef5d61..bfbc075c6 100644
--- a/app/models/compliance_control.rb
+++ b/app/models/compliance_control.rb
@@ -44,10 +44,11 @@ class ComplianceControl < ActiveRecord::Base
end
end
- before_validation(on: :create) do
- self.name ||= self.class.name
- self.code ||= self.class.default_code
- self.origin_code ||= self.class.default_code
+ def initialize(attributes = {})
+ super
+ self.name ||= I18n.t("activerecord.models.#{self.class.name.underscore}.one")
+ self.code ||= self.class.default_code
+ self.origin_code ||= self.class.default_code
end
end
@@ -67,9 +68,7 @@ require_dependency 'route_control/omnibus_journey_pattern'
require_dependency 'route_control/opposite_route_terminus'
require_dependency 'route_control/opposite_route'
require_dependency 'route_control/stop_points_in_journey_pattern'
-require_dependency 'route_control/time_table'
require_dependency 'route_control/unactivated_stop_points'
-require_dependency 'route_control/vehicle_journey_at_stops'
require_dependency 'route_control/zdl_stop_area'
require_dependency 'routing_constraint_zone_control/maximum_length'
require_dependency 'routing_constraint_zone_control/minimum_length'
@@ -77,3 +76,5 @@ require_dependency 'routing_constraint_zone_control/unactivated_stop_point'
require_dependency 'vehicle_journey_control/delta'
require_dependency 'vehicle_journey_control/waiting_time'
require_dependency 'vehicle_journey_control/speed'
+require_dependency 'vehicle_journey_control/time_table'
+require_dependency 'vehicle_journey_control/vehicle_journey_at_stops'
diff --git a/app/models/generic_attribute_control/min_max.rb b/app/models/generic_attribute_control/min_max.rb
index 876f56eed..c46ba0453 100644
--- a/app/models/generic_attribute_control/min_max.rb
+++ b/app/models/generic_attribute_control/min_max.rb
@@ -2,6 +2,9 @@ module GenericAttributeControl
class MinMax < ComplianceControl
hstore_accessor :control_attributes, minimum: :integer, maximum: :integer, target: :string
+ validates :minimum, numericality: true, allow_nil: true
+ validates :maximum, numericality: true, allow_nil: true
+ #validates :target, presence: true
validate :min_max_values
def min_max_values
true
diff --git a/app/models/generic_attribute_control/pattern.rb b/app/models/generic_attribute_control/pattern.rb
index 6796da84f..d59f211dc 100644
--- a/app/models/generic_attribute_control/pattern.rb
+++ b/app/models/generic_attribute_control/pattern.rb
@@ -2,15 +2,13 @@ module GenericAttributeControl
class Pattern < ComplianceControl
hstore_accessor :control_attributes, pattern: :string, target: :string
- validate :pattern_match
- def pattern_match
- true
- end
+ #validates :target, presence: true
+ #validates :pattern, presence: true
class << self
def attribute_type; :string end
def default_criticity; :warning end
- def default_code; "3-Generic-3" end
+ def default_code; "3-Generic-1" end
end
end
end
diff --git a/app/models/generic_attribute_control/uniqueness.rb b/app/models/generic_attribute_control/uniqueness.rb
index f227bf8b6..dbedcd858 100644
--- a/app/models/generic_attribute_control/uniqueness.rb
+++ b/app/models/generic_attribute_control/uniqueness.rb
@@ -2,10 +2,7 @@ module GenericAttributeControl
class Uniqueness < ComplianceControl
hstore_accessor :control_attributes, target: :string
- validate :unique_values
- def unique_values
- true
- end
+ #validates :target, presence: true
class << self
def attribute_type; :string end
diff --git a/app/models/vehicle_journey_control/delta.rb b/app/models/vehicle_journey_control/delta.rb
index 7be0db261..1f3a4d492 100644
--- a/app/models/vehicle_journey_control/delta.rb
+++ b/app/models/vehicle_journey_control/delta.rb
@@ -3,6 +3,8 @@ module VehicleJourneyControl
hstore_accessor :control_attributes, maximum: :integer
+ validates :maximum, numericality: true, allow_nil: true
+
def self.default_code; "3-VehicleJourney-3" end
end
end
diff --git a/app/models/vehicle_journey_control/speed.rb b/app/models/vehicle_journey_control/speed.rb
index cc46ee1f9..099a46d1d 100644
--- a/app/models/vehicle_journey_control/speed.rb
+++ b/app/models/vehicle_journey_control/speed.rb
@@ -2,6 +2,9 @@ module VehicleJourneyControl
class Speed < ComplianceControl
hstore_accessor :control_attributes, minimum: :integer, maximum: :integer
+ validates :minimum, numericality: true, allow_nil: true
+ validates :maximum, numericality: true, allow_nil: true
+
def self.default_code; "3-VehicleJourney-2" end
end
end
diff --git a/app/models/route_control/time_table.rb b/app/models/vehicle_journey_control/time_table.rb
index 069cd0a9e..617ead12b 100644
--- a/app/models/route_control/time_table.rb
+++ b/app/models/vehicle_journey_control/time_table.rb
@@ -1,4 +1,4 @@
-module RouteControl
+module VehicleJourneyControl
class TimeTable < ComplianceControl
def self.default_code; "3-VehicleJourney-4" end
diff --git a/app/models/route_control/vehicle_journey_at_stops.rb b/app/models/vehicle_journey_control/vehicle_journey_at_stops.rb
index 7c376a2da..47ee26f82 100644
--- a/app/models/route_control/vehicle_journey_at_stops.rb
+++ b/app/models/vehicle_journey_control/vehicle_journey_at_stops.rb
@@ -1,4 +1,4 @@
-module RouteControl
+module VehicleJourneyControl
class VehicleJourneyAtStops < ComplianceControl
def self.default_code; "3-VehicleJourney-5" end
diff --git a/app/models/vehicle_journey_control/waiting_time.rb b/app/models/vehicle_journey_control/waiting_time.rb
index da35bc4a1..68fccb5c1 100644
--- a/app/models/vehicle_journey_control/waiting_time.rb
+++ b/app/models/vehicle_journey_control/waiting_time.rb
@@ -2,6 +2,8 @@ module VehicleJourneyControl
class WaitingTime < ComplianceControl
hstore_accessor :control_attributes, maximum: :integer
+ validates :maximum, numericality: true, allow_nil: true
+
def self.default_code; "3-VehicleJourney-1" end
end
end
diff --git a/app/views/compliance_controls/_form.html.slim b/app/views/compliance_controls/_form.html.slim
index 8c56d145f..1ebbe8802 100644
--- a/app/views/compliance_controls/_form.html.slim
+++ b/app/views/compliance_controls/_form.html.slim
@@ -2,14 +2,14 @@
.row
.col-lg-12
= f.input :name
- = f.input :type, as: :select, collection: ComplianceControl.subclasses, disabled: true
+ = f.input :type, as: :hidden
= f.input :code
= f.input :criticity
= f.association :compliance_control_block, collection: @compliance_control_set.compliance_control_blocks, label_method: :label_method
= f.input :comment
- f.object.class.dynamic_attributes.each do |attribute|
- if attribute == :target
- = f.input :target, as: :grouped_select, collection: ModelAttribute.grouped_options(@compliance_control.class.attribute_type), :group_method => :last
+ = f.input :target, as: :grouped_select, collection: ModelAttribute.grouped_options(@compliance_control.class.attribute_type), group_method: :last, include_blank: false
- else
= f.input attribute.to_sym
end
diff --git a/app/views/compliance_controls/select_type.html.slim b/app/views/compliance_controls/select_type.html.slim
index 72ac41dc9..a4ae1ed27 100644
--- a/app/views/compliance_controls/select_type.html.slim
+++ b/app/views/compliance_controls/select_type.html.slim
@@ -12,7 +12,7 @@
= form_tag(new_compliance_control_set_compliance_control_path, method: :get) do
- @sti_subclasses.each do |klass|
.radio
- = radio_button_tag(:sti_class, klass)
- = I18n.t("activerecord.models.#{klass.name.underscore}.one")
+ = radio_button_tag(:sti_class, klass, @sti_subclasses.first)
+ = "#{klass.default_code} - #{I18n.t("activerecord.models.#{klass.name.underscore}.one")}"
.text-right
= submit_tag t('compliance_control_sets.actions.loaded'), class: "btn btn-outline-primary"
diff --git a/app/views/compliance_controls/show.html.slim b/app/views/compliance_controls/show.html.slim
index 7affcf2a3..2cf8051fc 100644
--- a/app/views/compliance_controls/show.html.slim
+++ b/app/views/compliance_controls/show.html.slim
@@ -16,8 +16,8 @@
ComplianceControl.human_attribute_name(:comment) => @compliance_control.comment,
}.merge( \
{}.tap do |hash| \
- @compliance_control.control_attributes.each do |k, v| \
- hash[ComplianceControl.human_attribute_name(k)] = v \
+ @compliance_control.class.dynamic_attributes.each do |attribute| \
+ hash[ComplianceControl.human_attribute_name(attribute)] = @compliance_control.send(attribute) \
end \
end \
)
diff --git a/config/initializers/apartment.rb b/config/initializers/apartment.rb
index 9954c9b3e..1c951317a 100644
--- a/config/initializers/apartment.rb
+++ b/config/initializers/apartment.rb
@@ -62,9 +62,7 @@ Apartment.configure do |config|
'RouteControl::OppositeRouteTerminus',
'RouteControl::OppositeRoute',
'RouteControl::StopPointsInJourneyPattern',
- 'RouteControl::TimeTable',
'RouteControl::UnactivatedStopPoints',
- 'RouteControl::VehicleJourneyAtStops',
'RouteControl::ZDLStopArea',
'RoutingConstraintZoneControl::MaximumLength',
'RoutingConstraintZoneControl::MinimumLength',
@@ -72,6 +70,8 @@ Apartment.configure do |config|
'VehicleJourneyControl::Delta',
'VehicleJourneyControl::WaitingTime',
'VehicleJourneyControl::Speed',
+ 'VehicleJourneyControl::TimeTable',
+ 'VehicleJourneyControl::VehicleJourneyAtStops',
'ComplianceControlSet',
'ComplianceControlBlock',
'ComplianceCheck',
diff --git a/config/locales/compliance_controls.fr.yml b/config/locales/compliance_controls.fr.yml
index 00a78899c..8a55743f2 100644
--- a/config/locales/compliance_controls.fr.yml
+++ b/config/locales/compliance_controls.fr.yml
@@ -2,6 +2,7 @@ fr:
compliance_controls:
errors:
incoherent_control_sets: "Le contrôle ne peut pas être associé à un jeu de contrôle (id: %{direct_set_name}) différent de celui de son groupe (id: %{indirect_set_name})"
+ mandatory_control_type: "Un type de contrôle doit être sélectionné"
show:
title: "Jeu de controle"
index:
@@ -21,6 +22,8 @@ fr:
"Si l'itinéraire référence un itinéraire inverse, celui-ci doit :
- référencer l'itinéraire inverse
- avoir un sens opposé à l'itinéraire testé"
+ route_control/stop_points_in_journey_pattern:
+ zeze: ""
route_control:
journey_pattern:
messages:
@@ -116,49 +119,53 @@ fr:
one: "controle"
other: "contrôles"
route_control/zdl_stop_area:
- one: ""
+ one: "Deux arrêts d’une même ZDL ne peuvent pas se succéder dans un itinéraire"
route_control/opposite_route:
- one: ""
+ one: "Vérification de l'itinéraire inverse"
route_control/journey_pattern:
- one:
+ one: "Présence de missions"
route_control/duplicates:
- one: ""
+ one: "Détection de double définition d'itinéraire"
route_control/opposite_route_terminus:
- one: ""
+ one: "Vérification des terminus de l'itinéraire inverse"
route_control/minimum_length:
- one: ""
+ one: "Un itinéraire doit contenir au moins 2 arrêts"
route_control/omnibus_journey_pattern:
- one: ""
- route_control/unactivated_stop_point:
- one: ""
+ one: "Existence d’une mission passant par tous les arrêts de l'itinéraire"
+ route_control/unactivated_stop_points:
+ one: "Itinéraire & arrêt désactivé"
+ route_control/stop_points_in_journey_pattern:
+ one: "Un itinéraire doit contenir au moins 2 arrêts"
journey_pattern_control/duplicates:
- one: ""
+ one: "Doublon de missions dans une ligne"
journey_pattern_control/vehicle_journey:
- one: ""
+ one: "Présence de courses"
vehicle_journey_control/waiting_time:
- one: ""
+ one: "La durée d’attente à un arrêt ne doit pas être trop grande"
vehicle_journey_control/speed:
- one: ""
+ one: "La vitesse entre deux arrêts doit être dans une fourchette paramétrable"
vehicle_journey_control/delta:
- one: ""
+ one: "Les vitesses entre 2 arrêts doivent être similaires pour toutes les courses d’une même mission"
vehicle_journey_control/time_table:
- one: ""
+ one: "Une course doit avoir au moins un calendrier d’application"
vehicle_journey_control/vehicle_journey_at_stops:
- one: ""
+ one: "Chronologie croissante des horaires"
routing_constraint_zone_control/vehicle_journey_at_stops:
- one: ""
+ one: "Chronologie croissante des horaires"
routing_constraint_zone_control/maximum_length:
- one: ""
+ one: "Couverture de l'itinéraire"
routing_constraint_zone_control/minimum_length:
- one: ""
+ one: "Définition minimale d'une ITL"
+ routing_constraint_zone_control/unactivated_stop_point:
+ one: "ITL & arret désactivé"
line_control/route:
- one: ""
- generic_attribute_control/content:
- one: ""
+ one: "Appariement des itinéraires"
+ generic_attribute_control/pattern:
+ one: "Contrôle du contenu selon un pattern"
generic_attribute_control/min_max:
- one: ""
+ one: "Valeur min, max de champs numériques"
generic_attribute_control/uniqueness:
- one: ""
+ one: "Unicité d'un attribut d'un objet dans une ligne"
attributes:
compliance_control:
diff --git a/lib/model_attribute.rb b/lib/model_attribute.rb
index 33f6c80aa..872c00152 100644
--- a/lib/model_attribute.rb
+++ b/lib/model_attribute.rb
@@ -12,7 +12,7 @@ class ModelAttribute
el[I18n.t("activerecord.models.#{key}.one")] = values.map do |i|
[
I18n.t("activerecord.attributes.#{i.klass}.#{i.name}"),
- "#{i.klass}.#{i.name}"
+ "#{i.klass}\##{i.name}"
]
end
end
diff --git a/spec/factories/compliance_controls/route_control_factories.rb b/spec/factories/compliance_controls/route_control_factories.rb
index 763a197ee..1462ca635 100644
--- a/spec/factories/compliance_controls/route_control_factories.rb
+++ b/spec/factories/compliance_controls/route_control_factories.rb
@@ -35,12 +35,4 @@ FactoryGirl.define do
factory :route_control_zdl_stop_area, class: 'RouteControl::ZDLStopArea' do
association :compliance_control_set
end
-
- factory :route_control_time_table, class: 'RouteControl::TimeTable' do
- association :compliance_control_set
- end
-
- factory :route_control_control_vehicle_journey_at_stops, class: 'RouteControl::VehicleJourneyAtStops' do
- association :compliance_control_set
- end
end
diff --git a/spec/factories/compliance_controls/vehicle_journey_control_factories.rb b/spec/factories/compliance_controls/vehicle_journey_control_factories.rb
index 3775624db..b9da530fb 100644
--- a/spec/factories/compliance_controls/vehicle_journey_control_factories.rb
+++ b/spec/factories/compliance_controls/vehicle_journey_control_factories.rb
@@ -11,4 +11,12 @@ FactoryGirl.define do
factory :vehicle_journey_control_speed, class: 'VehicleJourneyControl::Speed' do
association :compliance_control_set
end
+
+ factory :vehicle_journey_control_time_table, class: 'VehicleJourneyControl::TimeTable' do
+ association :compliance_control_set
+ end
+
+ factory :vehicle_journey_control_vehicle_journey_at_stops, class: 'VehicleJourneyControl::VehicleJourneyAtStops' do
+ association :compliance_control_set
+ end
end
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 850cd1d76..9610cc796 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
@@ -1,7 +1,7 @@
RSpec.describe GenericAttributeControl::Pattern, type: :model do
- let( :default_code ){ "3-Generic-3" }
+ let( :default_code ){ "3-Generic-1" }
let( :factory ){ :generic_attribute_control_pattern }
- it_behaves_like 'ComplianceControl Class Level Defaults'
+ it_behaves_like 'ComplianceControl Class Level Defaults'
end
diff --git a/spec/models/compliance_control_class_level_defaults/route_control/time_table_cccld_spec.rb b/spec/models/compliance_control_class_level_defaults/route_control/time_table_cccld_spec.rb
deleted file mode 100644
index cbe14e4a7..000000000
--- a/spec/models/compliance_control_class_level_defaults/route_control/time_table_cccld_spec.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-
-RSpec.describe RouteControl::TimeTable, type: :model do
- let( :default_code ){ "3-VehicleJourney-4" }
- let( :factory ){ :route_control_time_table }
-
- it_behaves_like 'ComplianceControl Class Level Defaults'
-end
diff --git a/spec/models/compliance_control_class_level_defaults/route_control/vehicle_journey_at_stops_cccld_spec.rb b/spec/models/compliance_control_class_level_defaults/route_control/vehicle_journey_at_stops_cccld_spec.rb
deleted file mode 100644
index 1268dbc98..000000000
--- a/spec/models/compliance_control_class_level_defaults/route_control/vehicle_journey_at_stops_cccld_spec.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-
-RSpec.describe RouteControl::VehicleJourneyAtStops, type: :model do
- let( :default_code ){ "3-VehicleJourney-5" }
- let( :factory ){ :route_control_control_vehicle_journey_at_stops }
-
- it_behaves_like 'ComplianceControl Class Level Defaults'
-end
diff --git a/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/speed_cccld_spec.rb b/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/speed_cccld_spec.rb
new file mode 100644
index 000000000..2a3cae9ff
--- /dev/null
+++ b/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/speed_cccld_spec.rb
@@ -0,0 +1,7 @@
+
+RSpec.describe VehicleJourneyControl::Speed, type: :model do
+ let( :default_code ){ "3-VehicleJourney-2" }
+ let( :factory ){ :vehicle_journey_control_speed }
+
+ it_behaves_like 'ComplianceControl Class Level Defaults'
+end
diff --git a/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/time_table_cccld_spec.rb b/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/time_table_cccld_spec.rb
new file mode 100644
index 000000000..19dfe871d
--- /dev/null
+++ b/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/time_table_cccld_spec.rb
@@ -0,0 +1,7 @@
+
+RSpec.describe VehicleJourneyControl::TimeTable, type: :model do
+ let( :default_code ){ "3-VehicleJourney-4" }
+ let( :factory ){ :vehicle_journey_control_time_table }
+
+ it_behaves_like 'ComplianceControl Class Level Defaults'
+end
diff --git a/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/vehicle_journey_at_stops_cccld_spec.rb b/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/vehicle_journey_at_stops_cccld_spec.rb
new file mode 100644
index 000000000..30b5893d5
--- /dev/null
+++ b/spec/models/compliance_control_class_level_defaults/vehicle_journey_control/vehicle_journey_at_stops_cccld_spec.rb
@@ -0,0 +1,7 @@
+
+RSpec.describe VehicleJourneyControl::VehicleJourneyAtStops, type: :model do
+ let( :default_code ){ "3-VehicleJourney-5" }
+ let( :factory ){ :vehicle_journey_control_vehicle_journey_at_stops }
+
+ it_behaves_like 'ComplianceControl Class Level Defaults'
+end