114 lines
4.5 KiB
Ruby
114 lines
4.5 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "JamClassScreen", :js => true, :type => :feature, :capybara_feature => true do
|
|
|
|
subject { page }
|
|
|
|
let(:user) { FactoryGirl.create(:user, traditional_band: true,paid_sessions: true, paid_sessions_hourly_rate: 1, paid_sessions_daily_rate:1 ) }
|
|
let(:teacher_user) {FactoryGirl.create(:teacher_user, ready_for_session_at: Time.now, first_name: "TeacherUser1")}
|
|
let(:teacher_user2) {FactoryGirl.create(:teacher_user, ready_for_session_at: Time.now, first_name: "TeacherUser2")}
|
|
|
|
it "shows Missed (Both)" do
|
|
lesson = testdrive_lesson(user, teacher_user, {miss: true, accept: true})
|
|
lesson.analysis_json["teacher_analysis"]["missed"].should be_true
|
|
lesson.analysis_json["student_analysis"]["missed"].should be_true
|
|
|
|
fast_signin(user, "/client#/jamclass")
|
|
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Missed (Both)')
|
|
end
|
|
|
|
it "shows Missed (Student)" do
|
|
lesson = testdrive_lesson(user, teacher_user, {accept: true, finish: true})
|
|
lesson.analysis_json["teacher_analysis"]["missed"].should be_false
|
|
lesson.analysis_json["student_analysis"]["missed"].should be_true
|
|
|
|
fast_signin(user, "/client#/jamclass")
|
|
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Missed (Student)')
|
|
end
|
|
|
|
it "shows Missed (Teacher)" do
|
|
lesson = testdrive_lesson(user, teacher_user, {accept: true, teacher_miss: true})
|
|
lesson.analysis_json["teacher_analysis"]["missed"].should be_true
|
|
lesson.analysis_json["student_analysis"]["missed"].should be_false
|
|
|
|
fast_signin(user, "/client#/jamclass")
|
|
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Missed (Teacher)')
|
|
# also check that clicking messages icon shows chat dialog (instead of view status screen) # VRFS-4089
|
|
find('tr[data-lesson-session-id="' + lesson.id + '"] td.unreadColumn a').trigger(:click)
|
|
find('.chat-list-scroller')
|
|
end
|
|
|
|
it "shows Completed" do
|
|
lesson = testdrive_lesson(user, teacher_user, {accept: true, success: true})
|
|
lesson.analysis_json["teacher_analysis"]["missed"].should be_false
|
|
lesson.analysis_json["student_analysis"]["missed"].should be_false
|
|
|
|
fast_signin(user, "/client#/jamclass")
|
|
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Completed')
|
|
end
|
|
|
|
it "shows Decline for Teacher, Cancel for Student" do
|
|
|
|
lesson = testdrive_lesson(user, teacher_user, {accept: false})
|
|
|
|
fast_signin(teacher_user, "/client#/jamclass")
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Requested')
|
|
|
|
|
|
# open up hover
|
|
find('tr[data-lesson-session-id="' + lesson.id + '"] .lesson-session-actions-btn').trigger(:click)
|
|
find('li[data-lesson-option="cancel"] a', visible: false, text: 'Decline Request')
|
|
|
|
lesson.teacher_unread_messages.should be_true
|
|
# also check that clicking messages icon shows view status screen (instead of chat dialog) # VRFS-4089
|
|
find('tr[data-lesson-session-id="' + lesson.id + '"] td.unreadColumn a').trigger(:click)
|
|
find('h2', text: 'respond to lesson request')
|
|
|
|
switch_user(user, "/client#/jamclass")
|
|
|
|
lesson.reload
|
|
lesson.student_unread_messages.should be_false
|
|
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Requested')
|
|
|
|
# open up hover
|
|
find('tr[data-lesson-session-id="' + lesson.id + '"] .lesson-session-actions-btn').trigger(:click)
|
|
# should work, doesn't
|
|
find('li[data-lesson-option="cancel"] a', visible: false, text: 'Cancel Request').trigger(:click)
|
|
|
|
# confirm cancelation -
|
|
find('#banner .yes-btn', text: 'YES').trigger(:click)
|
|
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Canceled (Student)')
|
|
|
|
switch_user(teacher_user, "/client#/jamclass")
|
|
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Canceled (Student)')
|
|
end
|
|
|
|
it "Teacher cancelation" do
|
|
|
|
lesson = testdrive_lesson(user, teacher_user, {accept: false})
|
|
|
|
fast_signin(teacher_user, "/client#/jamclass")
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Requested')
|
|
|
|
|
|
# open up hover
|
|
find('tr[data-lesson-session-id="' + lesson.id + '"] .lesson-session-actions-btn').trigger(:click)
|
|
find('li[data-lesson-option="cancel"] a', visible: false, text: 'Decline Request').trigger(:click)
|
|
# confirm cancelation -
|
|
find('#banner .yes-btn', text: 'YES').trigger(:click)
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Canceled (Teacher)')
|
|
|
|
switch_user(user, "/client#/jamclass")
|
|
|
|
find('#jam-class-student-screen td.displayStatusColumn', text: 'Canceled (Teacher)')
|
|
|
|
end
|
|
end
|