diff options
author | Janakas <janakas@coding4.coffee> | 2017-12-29 00:38:03 +0300 |
---|---|---|
committer | Dennis Schubert <mail@dennis-schubert.de> | 2018-01-08 23:14:06 +0300 |
commit | d4e5d13a8fb9185be1a678fdc2e185573a7b6ee9 (patch) | |
tree | dd4db2ca18714bf73959a3fefd1d7a284d43a6c3 /spec/workers | |
parent | 497c647983c740544f6209925fa3b77fa2b76286 (diff) |
Remove old export archives after 2 weeks
Fixes #5727
Diffstat (limited to 'spec/workers')
-rw-r--r-- | spec/workers/cleanup_old_exports_spec.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/spec/workers/cleanup_old_exports_spec.rb b/spec/workers/cleanup_old_exports_spec.rb new file mode 100644 index 000000000..9c5df7ea0 --- /dev/null +++ b/spec/workers/cleanup_old_exports_spec.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +describe Workers::CleanupOldExports do + let(:user) { FactoryGirl.create(:user) } + + context "with profile data" do + before do + user.perform_export! + end + + it "removes old archives" do + Timecop.travel(Time.zone.today + 15.days) do + Workers::CleanupOldExports.new.perform + user.reload + expect(user.export).not_to be_present + expect(user.exported_at).to be_nil + end + end + + it "does not remove new archives" do + Timecop.travel(Time.zone.today + 1.day) do + Workers::CleanupOldExports.new.perform + user.reload + expect(user.export).to be_present + expect(user.exported_at).to be_present + end + end + end + + context "with photos" do + before do + user.perform_export_photos! + end + + it "removes old archives" do + Timecop.travel(Time.zone.today + 15.days) do + Workers::CleanupOldExports.new.perform + user.reload + expect(user.exported_photos_file).not_to be_present + expect(user.exported_photos_at).to be_nil + end + end + + it "does not remove new archives" do + Timecop.travel(Time.zone.today + 1.day) do + Workers::CleanupOldExports.new.perform + user.reload + expect(user.exported_photos_file).to be_present + expect(user.exported_photos_at).to be_present + end + end + end +end |