parent
260b1dd2c3
commit
a0646ba70f
@ -0,0 +1,11 @@
|
||||
namespace :survey do
|
||||
|
||||
desc 'Text all Recipients ready for an Attempt'
|
||||
task :make_attempts => :environment do
|
||||
Schedule.active.all.each do |schedule|
|
||||
schedule.recipient_schedules.ready.each do |recipient_schedule|
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,25 @@
|
||||
require 'rails_helper'
|
||||
|
||||
describe "survey:make_attempts" do
|
||||
include_context "rake"
|
||||
|
||||
|
||||
# let(:old_schedule) { stub("csv data") }
|
||||
# let(:paused_schedule) { stub("csv data") }
|
||||
# let(:report) { stub("generated report", :to_csv => csv) }
|
||||
# let(:user_records) { stub("user records for report") }
|
||||
|
||||
before do
|
||||
# ReportGenerator.stubs(:generate)
|
||||
# UsersReport.stubs(:new => report)
|
||||
# User.stubs(:all => user_records)
|
||||
end
|
||||
|
||||
it 'should have environment as a prerequisite' do
|
||||
expect(subject.prerequisites).to include("environment")
|
||||
end
|
||||
|
||||
it "finds all active schedules" do
|
||||
subject.invoke
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,47 @@
|
||||
require 'rails_helper'
|
||||
|
||||
describe Schedule do
|
||||
|
||||
describe "active" do
|
||||
|
||||
let!(:school) { School.create!(name: 'School') }
|
||||
let!(:recipient_list) { RecipientList.create!(name: 'Parents', recipient_id_array: [1, 2, 3]) }
|
||||
let!(:kids_recipient_list) { RecipientList.create!(name: 'Kids', recipient_id_array: [4, 5, 6]) }
|
||||
let!(:question_list) { QuestionList.create!(name: 'Questions', question_id_array: [1, 2, 3]) }
|
||||
|
||||
let(:default_schedule_params) {
|
||||
{
|
||||
school: school,
|
||||
recipient_list: recipient_list,
|
||||
question_list: question_list,
|
||||
name: 'Parents Schedule',
|
||||
description: 'Schedule for parent questions',
|
||||
start_date: 1.month.ago,
|
||||
end_date: 11.months.from_now,
|
||||
active: true
|
||||
}
|
||||
}
|
||||
|
||||
let!(:active_schedule) do
|
||||
Schedule.create!(default_schedule_params)
|
||||
end
|
||||
|
||||
let!(:active_schedule_kids) do
|
||||
Schedule.create!(default_schedule_params.merge!(name: 'Kids Schedule', recipient_list: kids_recipient_list))
|
||||
end
|
||||
|
||||
let!(:old_schedule) {
|
||||
Schedule.create!(default_schedule_params.merge!(start_date: 13.month.ago, end_date: 1.months.ago))
|
||||
}
|
||||
|
||||
let!(:paused_schedule) {
|
||||
Schedule.create!(default_schedule_params.merge!(active: false))
|
||||
}
|
||||
|
||||
it 'finds active schedules' do
|
||||
active = Schedule.active
|
||||
expect(active.length).to eq(2)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,19 @@
|
||||
require "rake"
|
||||
|
||||
shared_context "rake" do
|
||||
let(:rake) { Rake::Application.new }
|
||||
let(:task_name) { self.class.top_level_description }
|
||||
let(:task_path) { "lib/tasks/#{task_name.split(":").first}" }
|
||||
subject { rake[task_name] }
|
||||
|
||||
def loaded_files_excluding_current_rake_file
|
||||
$".reject {|file| file == Rails.root.join("#{task_path}.rake").to_s }
|
||||
end
|
||||
|
||||
before do
|
||||
Rake.application = rake
|
||||
Rake.application.rake_require(task_path, [Rails.root.to_s], loaded_files_excluding_current_rake_file)
|
||||
|
||||
Rake::Task.define_task(:environment)
|
||||
end
|
||||
end
|
||||
Loading…
Reference in new issue