diff options
author | Sean McGivern <sean@gitlab.com> | 2016-08-18 22:45:41 +0100 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2016-08-18 22:45:41 +0100 |
commit | 883b96ab6a77175d9bac7f03c325428327359cdd (patch) | |
tree | 82a9af364b06994820b975cef45d98adf3255523 /spec/workers/remove_expired_group_links_worker_spec.rb | |
parent | d2cd9d96965722cca06792c63d76d2704366d7a5 (diff) | |
download | gitlab-ce-883b96ab6a77175d9bac7f03c325428327359cdd.tar.gz |
Allow project group links to be expired
Diffstat (limited to 'spec/workers/remove_expired_group_links_worker_spec.rb')
-rw-r--r-- | spec/workers/remove_expired_group_links_worker_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/workers/remove_expired_group_links_worker_spec.rb b/spec/workers/remove_expired_group_links_worker_spec.rb new file mode 100644 index 00000000000..689bc3d27b4 --- /dev/null +++ b/spec/workers/remove_expired_group_links_worker_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +describe RemoveExpiredGroupLinksWorker do + describe '#perform' do + let!(:expired_project_group_link) { create(:project_group_link, expires_at: 1.hour.ago) } + let!(:project_group_link_expiring_in_future) { create(:project_group_link, expires_at: 10.days.from_now) } + let!(:non_expiring_project_group_link) { create(:project_group_link, expires_at: nil) } + + it 'removes expired group links' do + expect { subject.perform }.to change { ProjectGroupLink.count }.by(-1) + expect(ProjectGroupLink.find_by(id: expired_project_group_link.id)).to be_nil + end + + it 'leaves group links that expire in the future' do + subject.perform + expect(project_group_link_expiring_in_future.reload).to be_present + end + + it 'leaves group links that do not expire at all' do + subject.perform + expect(non_expiring_project_group_link.reload).to be_present + end + end +end |