mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-12-02 11:59:17 -05:00
FIX: do not delete already redeemed invite
This commit is contained in:
parent
90de61ee3d
commit
fb0e7dc0b2
2 changed files with 8 additions and 1 deletions
|
@ -117,6 +117,6 @@ InviteRedeemer = Struct.new(:invite, :username, :name) do
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_duplicate_invites
|
def delete_duplicate_invites
|
||||||
Invite.where('invites.email = ? and invites.id != ?', invite.email, invite.id).delete_all
|
Invite.where('invites.email = ? AND redeemed_at IS NULL AND invites.id != ?', invite.email, invite.id).delete_all
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -198,6 +198,13 @@ describe Invite do
|
||||||
expect(duplicate_invite).to be_nil
|
expect(duplicate_invite).to be_nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'does not delete already redeemed invite' do
|
||||||
|
redeemed_invite = Fabricate(:invite, email: invite.email, invited_by: another_user, redeemed_at: 1.day.ago)
|
||||||
|
invite.redeem
|
||||||
|
used_invite = Invite.find_by(id: redeemed_invite.id)
|
||||||
|
expect(used_invite).not_to be_nil
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'enqueues a job to email "set password" instructions' do
|
context 'enqueues a job to email "set password" instructions' do
|
||||||
|
|
Loading…
Reference in a new issue