diff options
| author | Xinhui | 2017-06-28 15:28:35 +0200 |
|---|---|---|
| committer | Xinhui | 2017-06-28 15:28:41 +0200 |
| commit | d704f6433672dbdddc1bdad9ed9bb48a61aaa00b (patch) | |
| tree | 7b8bf12195634f6ad6a70b723f9c34e9d5316ed5 /spec | |
| parent | f64246b8272a35731b3edba243b8d8e1898df1de (diff) | |
| download | chouette-core-d704f6433672dbdddc1bdad9ed9bb48a61aaa00b.tar.bz2 | |
Fix cleanup should only destroy vj without any time_table
Refs #3917
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/factories/clean_ups.rb | 1 | ||||
| -rw-r--r-- | spec/models/clean_up_spec.rb | 27 |
2 files changed, 22 insertions, 6 deletions
diff --git a/spec/factories/clean_ups.rb b/spec/factories/clean_ups.rb index d3746c3b2..7107769ff 100644 --- a/spec/factories/clean_ups.rb +++ b/spec/factories/clean_ups.rb @@ -2,5 +2,6 @@ FactoryGirl.define do factory :clean_up do begin_date { Date.today} end_date { Date.today + 1.month } + date_type { :before } end end diff --git a/spec/models/clean_up_spec.rb b/spec/models/clean_up_spec.rb index 4b1bf4da9..ee88ca773 100644 --- a/spec/models/clean_up_spec.rb +++ b/spec/models/clean_up_spec.rb @@ -191,7 +191,7 @@ RSpec.describe CleanUp, :type => :model do context '#destroy_time_tables' do let!(:time_table) { create(:time_table) } - let(:cleaner) { create(:clean_up, date_type: :before) } + let(:cleaner) { create(:clean_up) } it 'should destroy all time_tables' do expect{cleaner.destroy_time_tables(Chouette::TimeTable.all)}.to change { @@ -199,11 +199,26 @@ RSpec.describe CleanUp, :type => :model do }.by(-1) end - it 'should destroy associated vehicle_journeys' do - create(:vehicle_journey, time_tables: [time_table]) - expect{cleaner.destroy_time_tables(Chouette::TimeTable.all)}.to change { - Chouette::VehicleJourney.count - }.by(-1) + it 'should destroy time_table vehicle_journey association' do + vj = create(:vehicle_journey, time_tables: [time_table]) + cleaner.destroy_time_tables(Chouette::TimeTable.all) + expect(vj.reload.time_tables).to be_empty + end + end + + context '#destroy_vehicle_journey_without_time_table' do + let(:cleaner) { create(:clean_up) } + + it 'should destroy vehicle_journey' do + vj = create(:vehicle_journey) + expect{cleaner.destroy_vehicle_journey_without_time_table + }.to change { Chouette::VehicleJourney.count }.by(-1) + end + + it 'should not destroy vehicle_journey with time_table' do + create(:vehicle_journey, time_tables: [create(:time_table)]) + expect{cleaner.destroy_vehicle_journey_without_time_table + }.to_not change { Chouette::VehicleJourney.count } end end |
