* teacher stopping point

This commit is contained in:
Seth Call 2016-04-05 21:21:46 -05:00
parent 1ea912dd46
commit 158a68c040
24 changed files with 323 additions and 63 deletions

View File

@ -1,4 +1,6 @@
class ApplicationController < ActionController::Base
include ApplicationHelper
protect_from_forgery
before_filter :prepare_gon

View File

@ -1,4 +1,5 @@
module ApplicationHelper
end

View File

@ -6,7 +6,7 @@ module JamRuby
has_one :teacher_distribution, class_name: "JamRuby::TeacherDistribution"
def self.daily_check
def self.hourly_check
teacher_payments
end
@ -48,7 +48,7 @@ module JamRuby
teacher_payment_charge.last_billed_at_date
end
def charge_retry_hours
22 # thi is only run once a day, so we make sure that slightly differences in trigger time don't cause a skip for a day
24
end
def calculate_teacher_fee

View File

@ -1126,7 +1126,7 @@ module JamRuby
elsif user.is_a_teacher
school = School.find_by_id(school_id)
school_name = school ? school.name : 'a music school'
user.teacher = Teacher.build_teacher(user, validate_introduction: true, biography: "Teaches for #{school.name}", school_id: school_id)
user.teacher = Teacher.build_teacher(user, validate_introduction: true, biography: "Teaches for #{school_name}", school_id: school_id)
end
end
# FIXME: Setting random password for social network logins. This

View File

@ -8,8 +8,6 @@ module JamRuby
def self.perform
@@log.debug("waking up")
TeacherPayment.daily_check
bounced_emails
calendar_manager = CalendarManager.new

View File

@ -10,6 +10,7 @@ module JamRuby
LessonBooking.hourly_check
LessonSession.hourly_check
TeacherPayment.hourly_check
@@log.debug("done")
end

View File

@ -568,11 +568,5 @@ describe ConnectionManager, no_transaction: true do
# connection = @connman.join_music_session(user, client_id, music_session, true, TRACKS)
# connection.errors.size.should == 0
end
# should be deleted
it "testfunc" do
@connman.testfunc.should eql 1
end
end

View File

@ -71,9 +71,9 @@ describe "Normal Lesson Flow" do
lesson_session.music_session.scheduled_start.should eql booking.default_slot.scheduled_time(0)
booking.status.should eql LessonBooking::STATUS_APPROVED
UserMailer.deliveries.length.should eql 2
UserMailer.deliveries.length.should eql 4
chat = ChatMessage.unscoped.order(:created_at).last
chat.message.should eql 'Yeah I got this'
chat.message.should eql "Lesson Approved: 'Yeah I got this'"
chat.channel.should eql ChatMessage::CHANNEL_LESSON
chat.user.should eql teacher_user
chat.target_user.should eql user
@ -82,8 +82,6 @@ describe "Normal Lesson Flow" do
notification.student_directed.should eql true
notification.purpose.should eql 'accept'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Your lesson request is confirmed!"
# teacher & student get into session
start = lesson_session.scheduled_start
@ -316,7 +314,6 @@ describe "Normal Lesson Flow" do
notification.student_directed.should eql true
notification.purpose.should eql 'counter'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Instructor has proposed a different time for your lesson."
######### Student counters with new slot
student_countered_slot = FactoryGirl.build(:lesson_booking_slot_single, hour: 16)
@ -340,7 +337,6 @@ describe "Normal Lesson Flow" do
notification.student_directed.should eql false
notification.purpose.should eql 'counter'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Student has proposed a different time for your lesson."
######## Teacher accepts slot
UserMailer.deliveries.clear
@ -355,9 +351,9 @@ describe "Normal Lesson Flow" do
lesson_session.music_session.scheduled_start.should eql booking.default_slot.scheduled_time(0)
booking.status.should eql LessonBooking::STATUS_APPROVED
UserMailer.deliveries.length.should eql 2
UserMailer.deliveries.length.should eql 4
chat = ChatMessage.unscoped.order(:created_at).last
chat.message.should eql 'Yeah I got this'
chat.message.should eql "Lesson Approved: 'Yeah I got this'"
chat.channel.should eql ChatMessage::CHANNEL_LESSON
chat.user.should eql teacher_user
chat.target_user.should eql user
@ -366,8 +362,6 @@ describe "Normal Lesson Flow" do
notification.student_directed.should eql true
notification.purpose.should eql 'accept'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Your lesson request is confirmed!"
# teacher & student get into session
start = lesson_session.scheduled_start

View File

@ -52,7 +52,7 @@ describe "Recurring Lesson Flow" do
booking.status.should eql LessonBooking::STATUS_REQUESTED
######### Teacher counters with new slot
teacher_countered_slot = FactoryGirl.build(:lesson_booking_slot_single, hour: 14)
teacher_countered_slot = FactoryGirl.build(:lesson_booking_slot_single, hour: 14, update_all: true)
UserMailer.deliveries.clear
lesson_session.counter({proposer: teacher_user, slot: teacher_countered_slot, message: 'Does this work?'})
booking.reload
@ -75,10 +75,10 @@ describe "Recurring Lesson Flow" do
notification.student_directed.should eql true
notification.purpose.should eql 'counter'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Instructor has proposed a different time for your lesson."
#notification.message.should eql "Instructor has proposed a different time for your lesson."
######### Student counters with new slot
student_countered_slot = FactoryGirl.build(:lesson_booking_slot_single, hour: 16)
student_countered_slot = FactoryGirl.build(:lesson_booking_slot_single, hour: 16, update_all: true)
UserMailer.deliveries.clear
lesson_session.counter({proposer: user, slot: student_countered_slot, message: 'Does this work better?'})
lesson_session.errors.any?.should be false
@ -99,7 +99,6 @@ describe "Recurring Lesson Flow" do
notification.student_directed.should eql false
notification.purpose.should eql 'counter'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Student has proposed a different time for your lesson."
######## Teacher accepts slot
UserMailer.deliveries.clear
@ -108,7 +107,7 @@ describe "Recurring Lesson Flow" do
# puts del.inspect
end
# get acceptance emails, as well as 'your stuff is accepted'
UserMailer.deliveries.length.should eql 4
UserMailer.deliveries.length.should eql 6
lesson_session.errors.any?.should be_false
lesson_session.reload
lesson_session.slot.should eql student_counter
@ -118,9 +117,9 @@ describe "Recurring Lesson Flow" do
lesson_session.music_session.scheduled_start.should eql booking.default_slot.scheduled_time(0)
booking.status.should eql LessonBooking::STATUS_APPROVED
UserMailer.deliveries.length.should eql 4
UserMailer.deliveries.length.should eql 6
chat = ChatMessage.unscoped.order(:created_at).last
chat.message.should eql 'Yeah I got this'
chat.message.should eql "Lesson Approved: 'Yeah I got this'"
chat.channel.should eql ChatMessage::CHANNEL_LESSON
chat.user.should eql teacher_user
chat.target_user.should eql user
@ -129,7 +128,6 @@ describe "Recurring Lesson Flow" do
notification.student_directed.should eql true
notification.purpose.should eql 'accept'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Your lesson request is confirmed!"
# teacher & student get into session

View File

@ -97,7 +97,6 @@ describe "TestDrive Lesson Flow" do
notification.student_directed.should eql true
notification.purpose.should eql 'counter'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Instructor has proposed a different time for your lesson."
######### Student counters with new slot
student_countered_slot = FactoryGirl.build(:lesson_booking_slot_single, hour: 16)
@ -121,7 +120,6 @@ describe "TestDrive Lesson Flow" do
notification.student_directed.should eql false
notification.purpose.should eql 'counter'
notification.description.should eql NotificationTypes::LESSON_MESSAGE
notification.message.should eql "Student has proposed a different time for your lesson."
######## Teacher accepts slot
UserMailer.deliveries.clear
@ -136,7 +134,7 @@ describe "TestDrive Lesson Flow" do
lesson_session.music_session.scheduled_start.should eql booking.default_slot.scheduled_time(0)
booking.status.should eql LessonBooking::STATUS_APPROVED
UserMailer.deliveries.length.should eql 2
UserMailer.deliveries.length.should eql 4
chat = ChatMessage.unscoped.order(:created_at).last
chat.message.should eql 'Yeah I got this'
chat.channel.should eql ChatMessage::CHANNEL_LESSON

View File

@ -14,14 +14,14 @@ describe Teacher do
describe "index" do
it "no params" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil)[:query]
teachers.length.should eq 1
teachers[0].should eq(teacher.user)
end
it "instruments" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil, {instruments: ['acoustic guitar']})[:query]
teachers.length.should eq 0
@ -39,7 +39,7 @@ describe Teacher do
end
it "subjects" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil, {subjects: ['music-theory']})[:query]
teachers.length.should eq 0
@ -51,7 +51,7 @@ describe Teacher do
end
it "genres" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil, {genres: ['ambient']})[:query]
teachers.length.should eq 0
@ -64,7 +64,7 @@ describe Teacher do
it "languages" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil, {languages: ['EN']})[:query]
teachers.length.should eq 0
@ -76,7 +76,7 @@ describe Teacher do
end
it "country" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil, {country: 'DO'})[:query]
teachers.length.should eq 0
@ -88,7 +88,7 @@ describe Teacher do
end
it "region" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil, {region: 'HE'})[:query]
teachers.length.should eq 0
@ -100,7 +100,7 @@ describe Teacher do
end
it "years_teaching" do
teacher = FactoryGirl.create(:teacher, years_teaching: 5)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now, years_teaching: 5)
teachers = Teacher.index(nil, {years_teaching: 10})[:query]
teachers.length.should eq 0
@ -110,7 +110,7 @@ describe Teacher do
end
it "teaches beginner/intermediate/advanced" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil, {teaches_beginner: true})[:query]
teachers.length.should eq 0
@ -133,7 +133,7 @@ describe Teacher do
end
it "student_age" do
teacher = FactoryGirl.create(:teacher)
teacher = FactoryGirl.create(:teacher, ready_for_session_at: Time.now)
teachers = Teacher.index(nil, {student_age: 5})[:query]
teachers.length.should eq 1

View File

@ -2218,9 +2218,10 @@
}
function getLessonSessions(options) {
options = options || {}
return $.ajax({
type: "GET",
url: "/api/lesson_sessions?" + $.param(query),
url: "/api/lesson_sessions?" + $.param(options),
dataType: "json",
contentType: 'application/json'
});

View File

@ -106,7 +106,8 @@ rest = context.JK.Rest()
loggedIn = context.JK.currentUserId?
if loggedIn
window.location.href = "/client#/jamclass"
#window.location.href = "/client#/jamclass"
window.location.href = "/client#/profile/#{context.JK.currentUserId}"
else
@createUser()
@ -130,7 +131,8 @@ rest = context.JK.Rest()
})
.done((response) =>
@setState({done: true})
window.location.href = "/client#/jamclass"
#window.location.href = "/client#/jamclass"
window.location.href = "/client#/profile/#{response.id}"
).fail((jqXHR) =>
@setState({processing: false})
if jqXHR.status == 422

View File

@ -106,7 +106,8 @@ rest = context.JK.Rest()
loggedIn = context.JK.currentUserId?
if loggedIn
window.location.href = "/client#/jamclass"
#window.location.href = "/client#/jamclass"
window.location.href = "/client#/profile/#{context.JK.currentUserId}"
else
@createUser()
@ -130,7 +131,8 @@ rest = context.JK.Rest()
})
.done((response) =>
@setState({done: true})
window.location.href = "/client#/jamclass"
#window.location.href = "/client#/jamclass"
window.location.href = "/client#/profile/#{response.id}"
).fail((jqXHR) =>
@setState({processing: false})
if jqXHR.status == 422

View File

@ -9,7 +9,7 @@ class ClientsController < ApplicationController
def index
@olark_enabled = true
enable_olark
gon.olark_box_start_hidden = true
# we want to enforce that /client is always the client view prefix

View File

@ -69,7 +69,7 @@ class LandingsController < ApplicationController
end
def jam_class_students
@olark_enabled = true
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@ -81,7 +81,7 @@ class LandingsController < ApplicationController
end
def jam_class_students_free
@olark_enabled = true
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@ -93,7 +93,7 @@ class LandingsController < ApplicationController
end
def jam_class_teachers
@olark_enabled = true
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@ -101,7 +101,7 @@ class LandingsController < ApplicationController
end
def jam_class_affiliates
@olark_enabled = true
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@ -111,7 +111,7 @@ class LandingsController < ApplicationController
def individual_jamtrack
@olark_enabled = true
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@ -147,7 +147,7 @@ class LandingsController < ApplicationController
def individual_jamtrack_band
@olark_enabled = true
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@ -228,12 +228,12 @@ class LandingsController < ApplicationController
end
def product_jamblaster
@olark_enabled = true
enable_olark
render 'product_jamblaster', layout: 'web'
end
def product_platform
@olark_enabled = true
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@ -241,7 +241,7 @@ class LandingsController < ApplicationController
end
def product_jamtracks
@olark_enabled = true
enable_olark
gon.generic = true
gon.just_previews = true
jam_track = JamTrack.select('plan_code').where(plan_code: Rails.application.config.nominated_jam_track).first

View File

@ -30,7 +30,7 @@ class PopupsController < ApplicationController
end
def jamtrack_player
@olark_enabled = true
enable_olark
@jamtrack_id = params[:jam_track_id]
@websocket = true
gon.jamtrack_id = @jamtrack_id

View File

@ -1,5 +1,10 @@
module ApplicationHelper
def enable_olark
@olark_enabled = true if Rails.application.config.olark_enabled
end
# Returns the full title on a per-page basis.
def full_title(page_title)
base_title = "JamKazam"

View File

@ -435,7 +435,7 @@ if defined?(Bundler)
config.lesson_join_time_window_minutes = 5
config.lesson_wait_time_window_minutes = 10
config.end_of_wait_window_forgiveness_minutes = 1
config.olark_enabled = true
end
end

View File

@ -15,9 +15,9 @@ SampleApp::Application.configure do
config.whiny_nils = true
# useful when debugging a javascript problem...
# config.assets.compress = false
config.assets.compress = false
config.assets.compress = true # Compress precompiled assets
#config.assets.compress = true # Compress precompiled assets
config.assets.compile = true # Refuse to compile assets on-the-fly
config.assets.digest = true
#config.assets.debug = true
@ -109,7 +109,7 @@ SampleApp::Application.configure do
config.video_available = "full"
config.guard_against_fraud = true
config.error_on_fraud = false
config.olark_enabled = false
config.stripe = {
:publishable_key => 'pk_test_HLTvioRAxN3hr5fNfrztZeoX',
:secret_key => 'sk_test_OkjoIF7FmdjunyNsdVqJD02D',

View File

@ -81,7 +81,8 @@ class UserManager < BaseManager
gift_card: gift_card,
student: student,
teacher: teacher,
school_invitation_code: school_invitation_code)
school_invitation_code: school_invitation_code,
school_id: school_id)
user
end

View File

@ -0,0 +1,46 @@
require 'spec_helper'
describe "Account School", :js => true, :type => :feature, :capybara_feature => true do
subject { page }
let(:user) {FactoryGirl.create(:user)}
let(:school) {FactoryGirl.create(:school) }
let(:school_owner) {school.owner}
before(:each) do
SchoolInvitation.delete_all
School.delete_all
UserMailer.deliveries.clear
emulate_client
end
describe "account school" do
it "allows invitation" do
sign_in_poltergeist school_owner
visit "/client#/account"
find('#account-school-link').trigger(:click)
find('h4', text: 'Management Preference')
find('.profile-nav a', text: 'members' ).trigger(:click)
find('a.invite-dialog', text: 'INVITE TEACHER').trigger(:click)
find('h1', text: 'invite teacher')
fill_in "first_name", with: "Seth"
fill_in "last_name", with: "Call"
fill_in "email", with: "seth+invited_teacher@jamkazam.com"
find('#invite-school-user-dialog .actions a', text: 'SEND INVITATION').trigger(:click)
find('#banner .dialog-inner', text: 'Your invitation has been sent!')
SchoolInvitation.count.should eql 1
school_invitation = SchoolInvitation.first
school_invitation.email.should eql "seth+invited_teacher@jamkazam.com"
find('.teacher-invites td.description', "#{school_invitation.first_name} #{school_invitation.last_name}")
end
end
end

View File

@ -0,0 +1,108 @@
require 'spec_helper'
describe "Student Landing", :js => true, :type => :feature, :capybara_feature => true do
subject { page }
before(:all) do
ShoppingCart.delete_all
JamTrackRight.delete_all
JamTrack.delete_all
JamTrackTrack.delete_all
JamTrackLicensor.delete_all
SchoolInvitation.delete_all
School.delete_all
end
let(:user) { FactoryGirl.create(:user, country: 'US') }
let(:school) {FactoryGirl.create(:school, name: 'Hot Dog')}
it "logged out and no invitation" do
visit "/school/#{school.id}/student"
find('.header-content h1', 'REGISTER AS STUDENT')
find('.header-content h2', "with #{school.name}")
find('button.cta-button', text: 'SIGN UP').trigger(:click)
# should fail because we haven't filled out email/password/terms
find('.register-area .errors', text: "Email can't be blank")
fill_in "email", with: 'school_student_123@jamkazam.com'
fill_in "password", with: 'jam123'
find('.register-area ins', visible: false).trigger(:click)
find('button.cta-button', text: 'SIGN UP').trigger(:click)
#find('h2', text: 'my lessons')
find('#type-label', text: 'musician')
student = User.find_by_email('school_student_123@jamkazam.com')
student.is_a_student.should be true
student.is_a_teacher.should be false
student.musician.should be true
student.teacher.should be_nil
student.school.should eql school
find('#user-profile #username', text: student.name)
end
it "logged out and has invitation" do
school_invitation = FactoryGirl.create(:school_invitation, school: school, accepted: false, as_teacher: false)
visit "/school/#{school.id}/student?invitation_code=#{school_invitation.invitation_code}"
find('.header-content h1', 'REGISTER AS STUDENT')
find('.header-content h2', "with #{school.name}")
find('button.cta-button', text: 'SIGN UP').trigger(:click)
# should fail because we haven't filled out email/password/terms
find('.register-area .errors', text: "Password is too short (minimum is 6 characters)")
#fill_in "email", with: 'school_student_124@jamkazam.com'
fill_in "password", with: 'jam123'
find('.register-area ins', visible: false).trigger(:click)
find('button.cta-button', text: 'SIGN UP').trigger(:click)
#find('h2', text: 'my lessons')
find('#type-label', text: 'musician')
student = User.find_by_email(school_invitation.email)
student.is_a_student.should be true
student.is_a_teacher.should be false
student.musician.should be true
student.teacher.should be_nil
student.school.should eql school
school_invitation.reload
school_invitation.accepted.should be_true
find('#user-profile #username', text: student.name)
end
it "logged in" do
school.touch
fast_signin(user,"/school/#{school.id}/student")
find('.header-content h1', 'REGISTER AS STUDENT')
find('.header-content h2', "with #{school.name}")
find('button.cta-button', text: 'GO TO JAMKAZAM').trigger(:click)
# this should show on the /client#/home page (WILL CHANGE)
#find('h2', text: 'my lessons')
find('#type-label', text: 'musician')
find('#user-profile #username', text: user.name)
user.reload
#user.is_a_student.should be true
#user.is_a_teacher.should be false
#user.musician.should be true
end
end

View File

@ -0,0 +1,109 @@
require 'spec_helper'
describe "Teacher Landing", :js => true, :type => :feature, :capybara_feature => true do
subject { page }
before(:all) do
ShoppingCart.delete_all
JamTrackRight.delete_all
JamTrack.delete_all
JamTrackTrack.delete_all
JamTrackLicensor.delete_all
SchoolInvitation.delete_all
School.delete_all
end
let(:user) { FactoryGirl.create(:user, country: 'US') }
let(:school) {FactoryGirl.create(:school, name: 'Hot Dog')}
it "logged out and no invitation" do
visit "/school/#{school.id}/teacher"
find('.header-content h1', 'REGISTER AS TEACHER')
find('.header-content h2', "with #{school.name}")
find('button.cta-button', text: 'SIGN UP').trigger(:click)
# should fail because we haven't filled out email/password/terms
find('.register-area .errors', text: "Email can't be blank")
fill_in "email", with: 'school_teacher_123@jamkazam.com'
fill_in "password", with: 'jam123'
find('.register-area ins', visible: false).trigger(:click)
find('button.cta-button', text: 'SIGN UP').trigger(:click)
#find('h2', text: 'my lessons')
find('#type-label', text: 'musician')
teacher = User.find_by_email('school_teacher_123@jamkazam.com')
teacher.is_a_student.should be false
teacher.is_a_teacher.should be true
teacher.musician.should be true
teacher.teacher.should_not be_nil
teacher.school.should be_nil
teacher.teacher.school.should eql school
find('#user-profile #username', text: teacher.name)
end
it "logged out and has invitation" do
school_invitation = FactoryGirl.create(:school_invitation, school: school, accepted: false, as_teacher: true)
visit "/school/#{school.id}/teacher?invitation_code=#{school_invitation.invitation_code}"
find('.header-content h1', 'REGISTER AS A TEACHER')
find('.header-content h2', "with #{school.name}")
find('button.cta-button', text: 'SIGN UP').trigger(:click)
# should fail because we haven't filled out email/password/terms
find('.register-area .errors', text: "Password is too short (minimum is 6 characters)")
#fill_in "email", with: 'school_student_124@jamkazam.com'
fill_in "password", with: 'jam123'
find('.register-area ins', visible: false).trigger(:click)
find('button.cta-button', text: 'SIGN UP').trigger(:click)
#find('h2', text: 'my lessons')
find('#type-label', text: 'musician')
teacher = User.find_by_email(school_invitation.email)
teacher.is_a_student.should be false
teacher.is_a_teacher.should be true
teacher.musician.should be true
teacher.teacher.should_not be_nil
teacher.school.should be_nil
teacher.teacher.school.should eql school
school_invitation.reload
school_invitation.accepted.should be_true
find('#user-profile #username', text: teacher.name)
end
it "logged in" do
school.touch
fast_signin(user,"/school/#{school.id}/teacher")
find('.header-content h1', 'REGISTER AS A TEACHER')
find('.header-content h2', "with #{school.name}")
find('button.cta-button', text: 'GO TO JAMKAZAM').trigger(:click)
# this should show on the /client#/home page (WILL CHANGE)
#find('h2', text: 'my lessons')
find('#type-label', text: 'musician')
find('#user-profile #username', text: user.name)
user.reload
#user.is_a_student.should be true
#user.is_a_teacher.should be false
#user.musician.should be true
end
end