diff options
| author | Johan Van Ryseghem | 2018-02-13 09:08:18 +0100 |
|---|---|---|
| committer | GitHub | 2018-02-13 09:08:18 +0100 |
| commit | 81cb1f8251e3506f7c75a229aabeaba3a83e6d8a (patch) | |
| tree | 1f35d87dba085495d31cf4588e67e3c3fa15089d /spec/models/import_spec.rb | |
| parent | 551c1117a4b9872c99508da71427f5a28fc31ddc (diff) | |
| parent | 2e346505cbf2f82c5aaf6fca37966a39b6c9656c (diff) | |
| download | chouette-core-81cb1f8251e3506f7c75a229aabeaba3a83e6d8a.tar.bz2 | |
Merge pull request #287 from af83/4963-import-cron-should-abort-old-imports
4963 import cron should abort old imports
Diffstat (limited to 'spec/models/import_spec.rb')
| -rw-r--r-- | spec/models/import_spec.rb | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/models/import_spec.rb b/spec/models/import_spec.rb index ffb2360c2..8b85f151b 100644 --- a/spec/models/import_spec.rb +++ b/spec/models/import_spec.rb @@ -29,6 +29,58 @@ RSpec.describe Import, type: :model do ) end + describe ".abort_old" do + it "changes imports older than 4 hours to aborted" do + Timecop.freeze(Time.now) do + old_import = create( + :workbench_import, + status: 'pending', + created_at: 4.hours.ago - 1.minute + ) + current_import = create(:workbench_import, status: 'pending') + + Import.abort_old + + expect(current_import.reload.status).to eq('pending') + expect(old_import.reload.status).to eq('aborted') + end + end + + it "doesn't work on imports with a `finished_status`" do + Timecop.freeze(Time.now) do + import = create( + :workbench_import, + status: 'successful', + created_at: 4.hours.ago - 1.minute + ) + + Import.abort_old + + expect(import.reload.status).to eq('successful') + end + end + + it "only works on the caller type" do + Timecop.freeze(Time.now) do + workbench_import = create( + :workbench_import, + status: 'pending', + created_at: 4.hours.ago - 1.minute + ) + netex_import = create( + :netex_import, + status: 'pending', + created_at: 4.hours.ago - 1.minute + ) + + NetexImport.abort_old + + expect(workbench_import.reload.status).to eq('pending') + expect(netex_import.reload.status).to eq('aborted') + end + end + end + describe "#destroy" do it "must destroy all child imports" do netex_import = create(:netex_import) |
