diff --git a/ruby/lib/jam_ruby/models/user.rb b/ruby/lib/jam_ruby/models/user.rb index 0abd3c779..8f8147a53 100644 --- a/ruby/lib/jam_ruby/models/user.rb +++ b/ruby/lib/jam_ruby/models/user.rb @@ -407,11 +407,20 @@ module JamRuby def self.send_take_lesson_poke User.came_through_amazon.where('remind_take_lesson_times <= 2').where('first_lesson_booked_at is NULL') .where('(remind_take_lesson_at is NULL AND users.created_at < ?) OR remind_take_lesson_at < ? ', 1.hours.ago, 2.days.ago).each do |user| - UserMailer.amazon_prompt_take_lesson(user, Teacher.match_teacher(user).user, user.remind_take_lesson_times).deliver_now - User.where(id: user.id).update_all(remind_take_lesson_at: Time.now, remind_take_lesson_times: user.remind_take_lesson_times + 1 ) + user.send_lesson_poke end end + def send_lesson_poke(first = false) + if first && self.remind_take_lesson_times > 0 + return + end + + + UserMailer.amazon_prompt_take_lesson(self, Teacher.match_teacher(self).user, self.remind_take_lesson_times).deliver_now + User.where(id: self.id).update_all(remind_take_lesson_at: Time.now, remind_take_lesson_times: self.remind_take_lesson_times + 1 ) + end + def update_teacher_pct if teacher teacher.update_profile_pct @@ -1639,6 +1648,7 @@ module JamRuby AdminMailer.jamclass_alerts({subject: "#{user.email} just signed up as a student", body: body}).deliver_now if user.via_amazon UserMailer.amazon_welcome_message(user).deliver_now + user.send_lesson_poke(true) else UserMailer.student_welcome_message(user).deliver_now end diff --git a/web/spec/features/activate_account_spec.rb b/web/spec/features/activate_account_spec.rb index 1c98ffb8f..b54306197 100644 --- a/web/spec/features/activate_account_spec.rb +++ b/web/spec/features/activate_account_spec.rb @@ -11,8 +11,10 @@ describe "Activate Account Card", :js => true, :type => :feature, :capybara_feat before(:all) do User.delete_all + FactoryGirl.create(:teacher, ready_for_session_at: Time.now) end + describe "not logged in" do describe "amazon_2_free_card" do it "succeeds" do @@ -78,6 +80,8 @@ describe "Activate Account Card", :js => true, :type => :feature, :capybara_feat amazon_2_free_card.purchased.should be true user.reload user.jamclass_credits.should eq(amazon_2_free_card.credits) + user.remind_take_lesson_times.should eql 1 + user.remind_take_lesson_at.should_not be_nil end end end @@ -95,7 +99,7 @@ describe "Activate Account Card", :js => true, :type => :feature, :capybara_feat find('a.amazon-a-button-text', text: 'Apply Credits').trigger(:click) - find('.success-msg', text: "You're all set!") + find('.success-msg', text: "Account successfully created!") user1.reload amazon_2_free_card.reload @@ -122,7 +126,7 @@ describe "Activate Account Card", :js => true, :type => :feature, :capybara_feat find('a.amazon-a-button-text', text: 'Apply Credits').trigger(:click) - find('.success-msg', text: "You're all set!") + find('.success-msg', text: "Account successfully created!") user1.reload amazon_2_free_card.reload