Add scopes for invitations

This commit is contained in:
Basti 2020-12-03 14:04:58 +01:00
parent b8e75c7c4a
commit 8a7d809b92
Signed by untrusted user: basti
GPG Key ID: 9F88009D31D99C72
2 changed files with 25 additions and 0 deletions

View File

@ -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

View File

@ -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