aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcedricnjanga2018-03-11 21:34:42 -0700
committerJohan Van Ryseghem2018-03-29 11:28:28 +0200
commit23318bbe07b73cef50ec69d5e597386a116e2b82 (patch)
tree9f5a8c6d5338a9efeb19903b17f43ef9a38cc190
parent501ac1902cfa3f9163cbabbb9bca66ac22a059b8 (diff)
downloadchouette-core-23318bbe07b73cef50ec69d5e597386a116e2b82.tar.bz2
Refs #6075 Replace after_commit callback to after_create for the set_defaults method
-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')