31 lines
1.4 KiB
Ruby
31 lines
1.4 KiB
Ruby
def successful_lesson(lesson_session, advance_to_end = true)
|
|
# teacher & student get into session
|
|
start = lesson_session.scheduled_start
|
|
end_time = lesson_session.scheduled_start + (60 * lesson_session.duration)
|
|
uh2 = FactoryGirl.create(:music_session_user_history, user: lesson_session.teacher, history: lesson_session.music_session, created_at: start, session_removed_at: end_time)
|
|
uh2 = FactoryGirl.create(:music_session_user_history, user: lesson_session.student, history: lesson_session.music_session, created_at: start, session_removed_at: end_time)
|
|
# artificially end the session, which is covered by other background jobs
|
|
lesson_session.music_session.session_removed_at = end_time
|
|
lesson_session.music_session.save!
|
|
|
|
if advance_to_end
|
|
Timecop.travel(end_time + 60 * 60)
|
|
end
|
|
end
|
|
|
|
def failed_lesson(lesson_session, advance_to_end = true)
|
|
start = lesson_session.scheduled_start
|
|
end_time = lesson_session.scheduled_start + (60 * lesson_session.duration)
|
|
if advance_to_end
|
|
Timecop.travel(end_time + 60 * 60)
|
|
end
|
|
end
|
|
def teacher_approve(lesson_session)
|
|
|
|
sign_out_poltergeist(validate: true)
|
|
sign_in_poltergeist(lesson_session.teacher, password: 'foobar')
|
|
visit "/client#/jamclass/lesson-booking/" + lesson_session.id
|
|
find('.schedule.button-orange').trigger(:click)
|
|
visit "/client#/jamclass"
|
|
find('tr[data-lesson-session-id="' + lesson_session.id + '"] .displayStatusColumn', text: 'Scheduled')
|
|
end |