- create crew_invitations table with status enum - add CrewInvitation model with accept/reject flow - add CrewInvitationsController for send/accept/reject - add invitation error classes - add invitation routes nested under crews - add pending invitations endpoint for current user - 38 passing specs for model and controller
25 lines
427 B
Ruby
25 lines
427 B
Ruby
FactoryBot.define do
|
|
factory :crew_invitation do
|
|
crew
|
|
user
|
|
association :invited_by, factory: :user
|
|
status { :pending }
|
|
expires_at { 7.days.from_now }
|
|
|
|
trait :accepted do
|
|
status { :accepted }
|
|
end
|
|
|
|
trait :rejected do
|
|
status { :rejected }
|
|
end
|
|
|
|
trait :expired do
|
|
status { :expired }
|
|
end
|
|
|
|
trait :expired_by_time do
|
|
expires_at { 1.day.ago }
|
|
end
|
|
end
|
|
end
|