rull rake task

pull/1/head
Jared Cosulich 9 years ago
parent bec3f52adf
commit b0e65da944

@ -11,7 +11,7 @@ class RecipientSchedule < ApplicationRecord
Question.where(id: upcoming.first).first Question.where(id: upcoming.first).first
end end
def make_attempt(question: next_question) def attempt_question(question: next_question)
attempt = recipient.attempts.create( attempt = recipient.attempts.create(
schedule: schedule, schedule: schedule,
recipient_schedule: self, recipient_schedule: self,

@ -1,10 +1,10 @@
namespace :survey do namespace :survey do
desc 'Text all Recipients ready for an Attempt' desc 'Text all Recipients ready for an Attempt'
task :make_attempts => :environment do task :attempt_qustions => :environment do
Schedule.active.each do |schedule| Schedule.active.each do |schedule|
schedule.recipient_schedules.ready.each do |recipient_schedule| schedule.recipient_schedules.ready.each do |recipient_schedule|
# recipient_schedule. recipient_schedule.attempt_question
end end
end end
end end

@ -1,10 +1,10 @@
require 'rails_helper' require 'rails_helper'
describe "survey:make_attempts" do describe "survey:attempt_qustions" do
include_context "rake" include_context "rake"
let(:ready_recipient_schedules) { double('ready recipient schedules') } let(:ready_recipient_schedule) { double('ready recipient schedule', attempt_question: nil) }
let(:recipient_schedules) { double("recipient schedules", ready: []) } let(:recipient_schedules) { double("recipient schedules", ready: [ready_recipient_schedule]) }
let(:active_schedule) { double("active schedule", recipient_schedules: recipient_schedules) } let(:active_schedule) { double("active schedule", recipient_schedules: recipient_schedules) }
before do before do
@ -18,7 +18,8 @@ describe "survey:make_attempts" do
end end
it "finds all active schedules" do it "finds all active schedules" do
expect(active_schedule).to (receive(:recipient_schedules)) expect(ready_recipient_schedule).to receive(:attempt_question)
expect(active_schedule).to receive(:recipient_schedules)
expect(Schedule).to receive(:active).and_return([active_schedule]) expect(Schedule).to receive(:active).and_return([active_schedule])
subject.invoke subject.invoke
end end

@ -54,12 +54,12 @@ RSpec.describe RecipientSchedule, type: :model do
end end
end end
describe 'make_attempt' do describe 'attempt_question' do
before :each do before :each do
Timecop.freeze Timecop.freeze
end end
let!(:attempt) { recipient_schedule.make_attempt } let!(:attempt) { recipient_schedule.attempt_question }
it 'should make an attempt to ask the next question' do it 'should make an attempt to ask the next question' do
expect(attempt).to be_persisted expect(attempt).to be_persisted

Loading…
Cancel
Save