jam-cloud/web/spec/support/lessons.rb

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