aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/chouette/stop_point.rb12
-rw-r--r--spec/models/chouette/route/route_stop_points_spec.rb6
2 files changed, 8 insertions, 10 deletions
diff --git a/app/models/chouette/stop_point.rb b/app/models/chouette/stop_point.rb
index 8d341c435..42a207774 100644
--- a/app/models/chouette/stop_point.rb
+++ b/app/models/chouette/stop_point.rb
@@ -30,15 +30,11 @@ module Chouette
delegate :name, to: :stop_area
- after_commit :set_defaults
+ after_create :set_defaults
def set_defaults
- if stop_area.kind == 'commercial'
- update_attribute :for_boarding, 'normal'
- update_attribute :for_alighting, 'normal'
- else
- update_attribute :for_boarding, 'forbidden'
- update_attribute :for_alighting, 'forbidden'
- end
+ value = stop_area.kind == 'commercial' ? 'normal' : 'forbidden'
+ update_attribute :for_boarding, value
+ update_attribute :for_alighting, value
end
before_destroy :remove_dependent_journey_pattern_stop_points
diff --git a/spec/models/chouette/route/route_stop_points_spec.rb b/spec/models/chouette/route/route_stop_points_spec.rb
index 037c22f7e..f8edadfee 100644
--- a/spec/models/chouette/route/route_stop_points_spec.rb
+++ b/spec/models/chouette/route/route_stop_points_spec.rb
@@ -88,10 +88,12 @@ RSpec.describe Chouette::Route, :type => :model do
end
context 'defaults attributes' do
+ let(:new_stop_area) { create :stop_area, kind: 'non_commercial', area_type: 'deposit' }
+ let(:new_stop_point) { create :stop_point, stop_area_id: new_stop_area.id }
it 'should have the correct default attributes' do
- first_stop_point.stop_area.update_attributes(kind: 'non_commercial')
+ subject.stop_points << new_stop_point
subject.stop_points.each do |sp|
- sp.run_callbacks(:commit)
+ # binding.pry
if sp.stop_area.commercial?
expect(sp.for_boarding).to eq('normal')
expect(sp.for_alighting).to eq('normal')