diff options
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 4 | ||||
| -rw-r--r-- | spec/models/chouette/vehicle_journey_spec.rb | 6 | 
2 files changed, 8 insertions, 2 deletions
| diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 11da77948..11e489ab2 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -195,7 +195,9 @@ module Chouette      def self.state_create_instance route, item        # Flag new record, so we can unset object_id if transaction rollback        vj = route.vehicle_journeys.create(state_permited_attributes(item)) -      item['objectid']   = vj.objectid +      vj.after_commit_objectid +      item['objectid'] = vj.objectid +      item['short_id'] = vj.get_objectid.short_id        item['new_record'] = true        vj      end diff --git a/spec/models/chouette/vehicle_journey_spec.rb b/spec/models/chouette/vehicle_journey_spec.rb index 3ec2387e5..06cac6bc7 100644 --- a/spec/models/chouette/vehicle_journey_spec.rb +++ b/spec/models/chouette/vehicle_journey_spec.rb @@ -100,11 +100,15 @@ describe Chouette::VehicleJourney, :type => :model do          Chouette::VehicleJourney.state_update(route, collection)        }.to change {Chouette::VehicleJourney.count}.by(1) -      expect(collection.last['objectid']).not_to be_nil        obj = Chouette::VehicleJourney.last +      expect(obj).to receive(:after_commit_objectid).and_call_original + +      # For some reason we have to force it +      obj.after_commit_objectid        obj.run_callbacks(:commit) +      expect(collection.last['objectid']).to eq obj.objectid        expect(obj.published_journey_name).to eq 'dummy'      end | 
