VRFS-4157 - don't wipe out sessions when considering scheduling
This commit is contained in:
parent
01a096d6c3
commit
ad28d8d55d
|
|
@ -243,7 +243,12 @@ module JamRuby
|
|||
minimum_start_time = create_minimum_booking_time
|
||||
|
||||
# get all sessions that are already scheduled for this booking ahead of the minimum time
|
||||
sessions = MusicSession.joins(:lesson_session).where("lesson_sessions.lesson_booking_id = ?", id).where("scheduled_start is not null").where("scheduled_start > ?", minimum_start_time).order(:created_at)
|
||||
|
||||
sessions= MusicSession.joins(:lesson_session).where("lesson_sessions.lesson_booking_id = ?", id).where("scheduled_start is not null").order(:created_at)
|
||||
if recurring
|
||||
# only want times ahead of this for recurring
|
||||
sessions = sessions.where("scheduled_start > ?", minimum_start_time)
|
||||
end
|
||||
|
||||
if @default_slot_did_change
|
||||
# # adjust all session times
|
||||
|
|
|
|||
|
|
@ -753,9 +753,28 @@ describe LessonBooking do
|
|||
end
|
||||
describe "rescheduling" do
|
||||
|
||||
after do
|
||||
Timecop.return
|
||||
it "initial slot is in the past" do
|
||||
booking = LessonBooking.book_normal(user, teacher_user, valid_single_slots, "Hey I've heard of you before.", false, LessonBooking::PAYMENT_STYLE_SINGLE, 60)
|
||||
|
||||
lesson_session = booking.lesson_sessions[0]
|
||||
|
||||
initial_scheduled_time = lesson_session.scheduled_start
|
||||
|
||||
counter = FactoryGirl.build(:lesson_booking_slot_single, preferred_day: Date.today + 20)
|
||||
lesson_session.counter({proposer: user, slot: counter, message: 'ACtually, let\'s do this instead for just this one'})
|
||||
|
||||
Timecop.travel(initial_scheduled_time + 1)
|
||||
|
||||
lesson_session.accept({accepter: teacher_user, message: 'Yeah I got this', slot: counter, update_all: false})
|
||||
booking.reload
|
||||
booking.status.should eql LessonBooking::STATUS_APPROVED
|
||||
booking.lesson_sessions.count.should eql 1
|
||||
lesson_session.errors.any?.should be_false
|
||||
lesson_session.reload
|
||||
lesson_session.status.should eql LessonSession::STATUS_APPROVED
|
||||
lesson_session.scheduled_start.should eql counter.scheduled_time(0)
|
||||
end
|
||||
|
||||
it "non-recurring, accepted with new slot" do
|
||||
booking = LessonBooking.book_normal(user, teacher_user, valid_single_slots, "Hey I've heard of you before.", false, LessonBooking::PAYMENT_STYLE_SINGLE, 60)
|
||||
lesson_session = booking.lesson_sessions[0]
|
||||
|
|
|
|||
|
|
@ -296,16 +296,16 @@ UserStore = context.UserStore
|
|||
|
||||
if response.test_drive?.teacher_id
|
||||
teacher_id = response.test_drive.teacher_id
|
||||
if testDriveCount == 1
|
||||
text = "You have purchased a TestDrive credit and have used it to request a JamClass with #{@state.teacher.name}. The teacher has received your request and should respond shortly."
|
||||
if testDriveCount == '1'
|
||||
text = "You have purchased 1 TestDrive credit and have used it to request a JamClass with #{@state.teacher.name}. The teacher has received your request and should respond shortly."
|
||||
else
|
||||
text = "You have purchased #{testDriveCount} TestDrive credits and have used 1 credit it to request a JamClass with #{@state.teacher.name}. The teacher has received your request and should respond shortly."
|
||||
text = "You have purchased #{testDriveCount} TestDrive credits and have used 1 credit to request a JamClass with #{@state.teacher.name}. The teacher has received your request and should respond shortly."
|
||||
location = "/client#/jamclass"
|
||||
else
|
||||
if @state.teacher?.id
|
||||
|
||||
# the user bought the testdrive, and there is a teacher of interest in context (but no booking)
|
||||
if testDriveCount == 1
|
||||
if testDriveCount == '1'
|
||||
text = "You now have 1 TestDrive credit.<br/><br/>We've taken you to the lesson booking screen for the teacher you initially showed interest in."
|
||||
location = "/client#/jamclass/book-lesson/test-drive_" + teacher_id
|
||||
else
|
||||
|
|
@ -313,7 +313,7 @@ UserStore = context.UserStore
|
|||
location = "/client#/jamclass/book-lesson/test-drive_" + teacher_id
|
||||
else
|
||||
# the user bought test drive, but 'cold' , i.e., no teacher in context
|
||||
if testDriveCount == 1
|
||||
if testDriveCount == '1'
|
||||
text = "You now have 1 TestDrive credit.<br/><br/>We've taken you to the Teacher Search screen, so you can search for teachers right for you."
|
||||
location = "/client#/teachers/search"
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue