Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanakas <janakas@coding4.coffee>2017-12-29 00:38:03 +0300
committerDennis Schubert <mail@dennis-schubert.de>2018-01-08 23:14:06 +0300
commitd4e5d13a8fb9185be1a678fdc2e185573a7b6ee9 (patch)
treedd4db2ca18714bf73959a3fefd1d7a284d43a6c3 /spec/workers
parent497c647983c740544f6209925fa3b77fa2b76286 (diff)
Remove old export archives after 2 weeks
Fixes #5727
Diffstat (limited to 'spec/workers')
-rw-r--r--spec/workers/cleanup_old_exports_spec.rb53
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