jam-cloud/ruby/spec/jam_ruby/models/email_batch_spec.rb

51 lines
1.5 KiB
Ruby

require 'spec_helper'
describe EmailBatch do
let (:email_batch) { FactoryGirl.create(:email_batch) }
let (:new_musician_batch) { FactoryGirl.create(:email_batch_new_musician) }
before(:each) do
BatchMailer.deliveries.clear
end
it 'has test emails setup' do
pending
expect(email_batch.test_emails.present?).to be true
expect(email_batch.pending?).to be true
users = email_batch.test_users
expect(email_batch.test_count).to eq(users.count)
end
describe 'new musician' do
before(:each) do
@u1 = FactoryGirl.create(:user, :lat => 37.791649, :lng => -122.394395, :email => 'jonathan@jamkazam.com')
@u2 = FactoryGirl.create(:user, :lat => 37.791649, :lng => -122.394395, :subscribe_email => false)
@u3 = FactoryGirl.create(:user, :lat => 37.791649, :lng => -122.394395, :subscribe_email => false)
end
it 'find new musicians with good score' do
pending
EmailBatchNewMusician.fetch_recipients do |new_musicians|
expect(new_musicians.count).to eq(1)
end
end
it 'has correct time since last batch' do
pending
tt = EmailBatchNewMusician.time_since_last_batch
expect(tt.to_i).to be < (Time.now - 1.week).to_i
end
it 'cycles through states properly' do
@u1.update_attributes(created_at: @u1.created_at + 1.minute)
new_musician_batch.deliver_batch
expect(UserMailer.deliveries.length).to eq(1)
new_musician_batch.reload
expect(new_musician_batch.delivering?).to eq(true)
end
end
end