From 5127276d9a9ca17165d36b1feec71792b3338e5c Mon Sep 17 00:00:00 2001 From: Xinhui Date: Mon, 14 Nov 2016 14:35:43 +0100 Subject: Wip refactoring cleanup model Refs #1933 --- spec/models/clean_up_spec.rb | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'spec/models/clean_up_spec.rb') diff --git a/spec/models/clean_up_spec.rb b/spec/models/clean_up_spec.rb index d633443ba..e603b09b0 100644 --- a/spec/models/clean_up_spec.rb +++ b/spec/models/clean_up_spec.rb @@ -1,41 +1,58 @@ -require 'spec_helper' +require 'rails_helper' -describe CleanUp, :type => :model do +RSpec.describe CleanUp, :type => :model do let(:cleaner) { CleanUp.new } + it { should validate_presence_of(:expected_date) } + it { should belong_to(:referential) } + + it 'should convert initialize attribute to boolean' do + params = { keep_lines: "0", keep_stops: "1" } + cleaner = CleanUp.new(params) + expect(cleaner.keep_lines).to eq false + expect(cleaner.keep_stops).to eq true + end + + it 'should delete group of line without lines' do + create_list(:group_of_line, 2) + create_list(:line, 2, group_of_lines: [create(:group_of_line)]) + expect(cleaner.clean_group_of_lines).to eq 2 + end + + it 'should delete company without lines' do + create_list(:company, 2) + create_list(:line, 2) + expect(cleaner.clean_companies).to eq 2 + end + it 'should delete physical stop_areas without stop_points' do create_list(:stop_area, 2) create_list(:stop_point, 2) Chouette::StopArea.update_all(area_type: "Quay") - expect(cleaner.physical_stop_areas.count).to eq 2 expect(cleaner.clean_physical_stop_areas).to eq 2 end it 'should delete vehiclejourneys without timetables' do create_list(:vehicle_journey, 2) create_list(:vehicle_journey, 2, time_tables:[create(:time_table)]) - expect(cleaner.vehicle_journeys.count).to eq 2 expect(cleaner.clean_vehicle_journeys).to eq 2 end it 'should delete lines without routes' do create_list(:line, 2) create_list(:route, 2, line: create(:line)) - expect(cleaner.lines.count).to eq 2 expect(cleaner.clean_lines).to eq 2 end it 'should delete routes without journeypatterns' do create_list(:route, 2) create_list(:journey_pattern, 2, route: create(:route)) - expect(cleaner.routes.count).to eq 2 expect(cleaner.clean_routes).to eq 2 end it 'should delete journeypatterns without vehicle journeys' do create_list(:journey_pattern, 2) create_list(:vehicle_journey, 2, journey_pattern: create(:journey_pattern)) - expect(cleaner.journey_patterns.count).to eq 2 expect(cleaner.clean_journey_patterns).to eq 2 end end -- cgit v1.2.3