VRFS-736 tests passing and what-not
This commit is contained in:
parent
6e7562ffc8
commit
fbb86dd9e7
|
|
@ -38,5 +38,9 @@ module JamRuby
|
|||
def deliver_batch_sets!
|
||||
end
|
||||
|
||||
def clear_batch_sets!
|
||||
self.email_batch_sets.map(&:destroy)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -93,14 +93,7 @@ module JamRuby
|
|||
|
||||
def trigger_date_constraint(trigger_idx, date_column)
|
||||
intervals = self.class.subtype_trigger_interval(self.sub_type)
|
||||
case trigger_idx
|
||||
when 1
|
||||
return ["#{date_column} >= ? AND #{date_column} < ?",
|
||||
Time.now - intervals[0].days,
|
||||
Time.now - intervals[1].days]
|
||||
else
|
||||
return ["#{date_column} < ?", Time.now - intervals[trigger_idx].days]
|
||||
end
|
||||
["#{date_column} < ?", Time.now - intervals[trigger_idx].days]
|
||||
end
|
||||
|
||||
def fetch_client_notdl(trigger_idx=0)
|
||||
|
|
@ -118,13 +111,17 @@ module JamRuby
|
|||
fetched
|
||||
end
|
||||
|
||||
def make_set(uu, trigger_idx)
|
||||
EmailBatchSet.progress_set(self, uu, trigger_idx)
|
||||
end
|
||||
|
||||
def deliver_batch_sets!
|
||||
self.opt_in_count = 0
|
||||
sent = 0
|
||||
3.times do |trigger_idx|
|
||||
self.send("fetch_#{self.sub_type}", trigger_idx) do |users|
|
||||
users.each do |uu|
|
||||
self.email_batch_sets << (bset = EmailBatchSet.progress_set(self, uu, trigger_idx))
|
||||
self.email_batch_sets << (bset = self.make_set(uu, trigger_idx))
|
||||
ProgressMailer.send_reminder(bset).deliver
|
||||
sent += 1
|
||||
end
|
||||
|
|
|
|||
|
|
@ -2,6 +2,10 @@ require 'spec_helper'
|
|||
|
||||
describe EmailBatch do
|
||||
|
||||
after(:each) do
|
||||
Timecop.return
|
||||
end
|
||||
|
||||
describe 'all users' do
|
||||
let (:email_batch) { FactoryGirl.create(:email_batch) }
|
||||
|
||||
|
|
@ -59,34 +63,52 @@ describe EmailBatch do
|
|||
context 'user progress' do
|
||||
|
||||
describe 'client not downloaded' do
|
||||
let(:client_notdl) { FactoryGirl.create(:email_batch_progression, :sub_type => :client_notdl) }
|
||||
let(:batchp) {
|
||||
FactoryGirl.create(:email_batch_progression, :sub_type => :client_notdl)
|
||||
}
|
||||
let(:user_) { FactoryGirl.create(:user) }
|
||||
let(:user_trigger0) {
|
||||
FactoryGirl.create(:user,
|
||||
:created_at => Time.now - batchp.days_past_for_trigger_index(0).days)
|
||||
}
|
||||
let(:user_trigger1) {
|
||||
FactoryGirl.create(:user,
|
||||
:created_at => Time.now - batchp.days_past_for_trigger_index(1).days)
|
||||
}
|
||||
let(:user_trigger2) {
|
||||
FactoryGirl.create(:user,
|
||||
:created_at => Time.now - batchp.days_past_for_trigger_index(2).days)
|
||||
}
|
||||
|
||||
let(:user_client_notdl) { FactoryGirl.create(:user) }
|
||||
let(:user_client_notdl_trigger0) {
|
||||
FactoryGirl.create(:user,
|
||||
:created_at => Time.now - client_notdl.days_past_for_trigger_index(0).days)
|
||||
}
|
||||
let(:user_client_notdl_trigger1) {
|
||||
FactoryGirl.create(:user,
|
||||
:created_at => Time.now - client_notdl.days_past_for_trigger_index(1).days)
|
||||
}
|
||||
let(:user_client_notdl_trigger2) {
|
||||
FactoryGirl.create(:user,
|
||||
:created_at => Time.now - client_notdl.days_past_for_trigger_index(2).days)
|
||||
}
|
||||
after(:each) do
|
||||
batchp.clear_batch_sets!
|
||||
end
|
||||
|
||||
it 'returns no users' do
|
||||
pending
|
||||
user_client_notdl
|
||||
expect(client_notdl.fetch_client_notdl.count).to eq(0)
|
||||
user_
|
||||
expect(batchp.fetch_client_notdl.count).to eq(0)
|
||||
end
|
||||
|
||||
it 'returns user first trigger' do
|
||||
user_client_notdl_trigger0
|
||||
expect(client_notdl.fetch_client_notdl.count).to eq(1)
|
||||
pending
|
||||
user_
|
||||
user_trigger2
|
||||
expect(batchp.fetch_client_notdl.count).to eq(1)
|
||||
batchp.make_set(user_trigger2, 0)
|
||||
expect(batchp.fetch_client_notdl(0).count).to eq(0)
|
||||
end
|
||||
|
||||
it 'returns user second trigger' do
|
||||
user_
|
||||
batchp.make_set(user_trigger2, 0)
|
||||
expect(batchp.fetch_client_notdl(0).count).to eq(0)
|
||||
Timecop.travel(Time.now - batchp.days_past_for_trigger_index(1).days)
|
||||
expect(batchp.fetch_client_notdl(1).count).to eq(1)
|
||||
|
||||
# batchp.make_set(user_trigger0, 0)
|
||||
# user_trigger1
|
||||
# expect(batchp.fetch_client_notdl(0).count).to eq(1)
|
||||
end
|
||||
|
||||
it 'returns user third trigger' do
|
||||
|
|
|
|||
Loading…
Reference in New Issue