diff options
author | Adam Niedzielski <adamsunday@gmail.com> | 2016-08-04 23:36:50 +0200 |
---|---|---|
committer | Adam Niedzielski <adamsunday@gmail.com> | 2016-08-04 23:36:50 +0200 |
commit | 671d247eaad5536962201a942b9af6b26e02299d (patch) | |
tree | 6c9e01a5bc8242dba60983a55ae9fecf45963da6 | |
parent | 8354810f103a8e82cb5d2b77049b5b3c9b298fa9 (diff) | |
download | gitlab-ce-671d247eaad5536962201a942b9af6b26e02299d.tar.gz |
Write test for RemoveExpiredMembersWorker.
-rw-r--r-- | spec/workers/remove_expired_members_worker_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/workers/remove_expired_members_worker_spec.rb b/spec/workers/remove_expired_members_worker_spec.rb new file mode 100644 index 00000000000..086f6e7c301 --- /dev/null +++ b/spec/workers/remove_expired_members_worker_spec.rb @@ -0,0 +1,25 @@ +require 'spec_helper' + +describe RemoveExpiredMembersWorker do + let!(:worker) { RemoveExpiredMembersWorker.new } + let!(:expired_member) { create(:project_member, expires_at: 1.hour.ago) } + let!(:member_expiring_in_future) { create(:project_member, expires_at: 10.days.from_now) } + let!(:non_expiring_member) { create(:project_member, expires_at: nil) } + + describe "#perform" do + it "removes expired members" do + expect { worker.perform }.to change { Member.count }.by(-1) + expect(Member.find_by(id: expired_member.id)).to be_nil + end + + it "leaves members who expire in the future" do + worker.perform + expect(member_expiring_in_future.reload).to be_present + end + + it "leaves members who do not expire at all" do + worker.perform + expect(non_expiring_member.reload).to be_present + end + end +end |