* adding RsvpRequest and RsvpSlot models
This commit is contained in:
parent
9ee27a5127
commit
a19d6dcc07
|
|
@ -66,6 +66,8 @@ require "jam_ruby/models/max_mind_isp"
|
|||
require "jam_ruby/models/band_genre"
|
||||
require "jam_ruby/models/genre"
|
||||
require "jam_ruby/models/user"
|
||||
require "jam_ruby/models/rsvp_request"
|
||||
require "jam_ruby/models/rsvp_slot"
|
||||
require "jam_ruby/models/user_observer"
|
||||
require "jam_ruby/models/user_authorization"
|
||||
require "jam_ruby/models/join_request"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
module JamRuby
|
||||
class RsvpRequest < ActiveRecord::Base
|
||||
|
||||
belongs_to :user, :class_name => "JamRuby::User"
|
||||
belongs_to :rsvp_slot, :class_name => "JamRuby::RsvpSlot"
|
||||
|
||||
validates :message, length: {maximum: 1000}, no_profanity: true
|
||||
validates :chosen, :inclusion => {:in => [nil, true, false]}
|
||||
validates :canceled, :inclusion => {:in => [nil, true, false]}
|
||||
validates :rsvp_slot, presence: true
|
||||
|
||||
|
||||
# XXX we need to validate that only one RsvpRequest.chosen = true for a given RsvpSlot
|
||||
# in other words, you can have many requests to a slot, but only 0 or 1 rsvp_request.chosen = true)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
module JamRuby
|
||||
class RsvpSlot < ActiveRecord::Base
|
||||
|
||||
belongs_to :instrument, :class_name => "JamRuby::Instrument"
|
||||
belongs_to :music_session
|
||||
has_many :rsvp_requests, :class_name => "JamRuby::RsvpRequest"
|
||||
|
||||
# TODO: validates :proficiency_level
|
||||
end
|
||||
end
|
||||
|
|
@ -458,4 +458,18 @@ FactoryGirl.define do
|
|||
creator JamRuby::Diagnostic::CLIENT
|
||||
data Faker::Lorem.sentence
|
||||
end
|
||||
|
||||
factory :rsvp_slot, class: JamRuby::RsvpSlot do
|
||||
association :instrument, factory: :instrument
|
||||
association :music_session, factory: :music_session
|
||||
proficiency_level 'beginner'
|
||||
end
|
||||
|
||||
factory :rsvp_request, class: JamRuby::RsvpRequest do
|
||||
association :user, factory: :user
|
||||
association :rsvp_slot, factory: :rsvp_slot
|
||||
sequence(:message) { |n| "I want to join!#{n}" }
|
||||
chosen false
|
||||
canceled false
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe RsvpRequest do
|
||||
|
||||
it "success" do
|
||||
FactoryGirl.create(:rsvp_request)
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe RsvpSlot do
|
||||
|
||||
it "success" do
|
||||
FactoryGirl.create(:rsvp_slot)
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue