diff options
author | Olaf Tomalka <olaf.tomalka@gmail.com> | 2016-09-05 10:18:08 +0200 |
---|---|---|
committer | Olaf Tomalka <olaf.tomalka@gmail.com> | 2016-09-07 19:41:25 +0200 |
commit | e25b48ffcf1f7ef31df8d6c3366674e7f5c29893 (patch) | |
tree | 89e6864c451bfd3ebf68af14d12743304968cbc3 /spec/workers/prune_old_events_worker_spec.rb | |
parent | 6690fc70478b4d82c49689e9e13e414bc77bb271 (diff) | |
download | gitlab-ce-e25b48ffcf1f7ef31df8d6c3366674e7f5c29893.tar.gz |
Added cron to prune events older than 12 months.
Since contribution calendar shows only 12 months of activity,
events older than that time are not visible anywhere and can be
safely pruned saving big amount of database storage.
Fixes #21164
Diffstat (limited to 'spec/workers/prune_old_events_worker_spec.rb')
-rw-r--r-- | spec/workers/prune_old_events_worker_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/workers/prune_old_events_worker_spec.rb b/spec/workers/prune_old_events_worker_spec.rb new file mode 100644 index 00000000000..35e1518a35e --- /dev/null +++ b/spec/workers/prune_old_events_worker_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +describe PruneOldEventsWorker do + describe '#perform' do + let!(:expired_event) { create(:event, author_id: 0, created_at: 13.months.ago) } + let!(:not_expired_event) { create(:event, author_id: 0, created_at: 1.day.ago) } + let!(:exactly_12_months_event) { create(:event, author_id: 0, created_at: 12.months.ago) } + + it 'prunes events older than 12 months' do + expect { subject.perform }.to change { Event.count }.by(-1) + expect(Event.find_by(id: expired_event.id)).to be_nil + end + + it 'leaves fresh events' do + subject.perform + expect(not_expired_event.reload).to be_present + end + + it 'leaves events from exactly 12 months ago' do + subject.perform + expect(exactly_12_months_event).to be_present + end + end +end |