Add scopes for invitations
This commit is contained in:
parent
b8e75c7c4a
commit
8a7d809b92
@ -6,6 +6,9 @@ class Invitation < ApplicationRecord
|
||||
|
||||
before_create :generate_token
|
||||
|
||||
scope :unused, -> { where(used_at: nil) }
|
||||
scope :used, -> { where.not(used_at: nil) }
|
||||
|
||||
private
|
||||
|
||||
def generate_token
|
||||
|
@ -19,4 +19,26 @@ RSpec.describe Invitation, type: :model do
|
||||
expect(token).not_to eq(invitation_2.token)
|
||||
end
|
||||
end
|
||||
|
||||
describe "scopes" do
|
||||
before do
|
||||
@unused_invitation = create :invitation, user: user
|
||||
@used_invitation = create :invitation, user: user, used_at: DateTime.now
|
||||
@used_invitation_2 = create :invitation, user: user, used_at: DateTime.now
|
||||
end
|
||||
|
||||
describe "#unused" do
|
||||
it "returns unused invitations" do
|
||||
expect(Invitation.unused.count).to eq(1)
|
||||
expect(Invitation.unused.first).to eq(@unused_invitation)
|
||||
end
|
||||
end
|
||||
|
||||
describe "#used" do
|
||||
it "returns used invitations" do
|
||||
expect(Invitation.used.count).to eq(2)
|
||||
expect(Invitation.used.first).to eq(@used_invitation)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user