VRFS-1664 added another test

This commit is contained in:
Jonathan Kolyer 2014-06-03 04:01:48 +00:00
parent d36ec17436
commit 8d35ea09e8
1 changed files with 37 additions and 6 deletions

View File

@ -15,13 +15,20 @@ describe EmailBatchNewMusician do
let (:new_musician_batch) { FactoryGirl.create(:email_batch_new_musician) }
let (:receiver) {
let (:receiver1) {
FactoryGirl.create(:user,
:created_at => Time.now - (EmailBatchNewMusician::SINCE_DAYS.days + 1.day),
:last_jam_locidispid => 1,
:last_jam_addr => 1
)
}
let (:receiver2) {
FactoryGirl.create(:user,
:created_at => Time.now - (EmailBatchNewMusician::SINCE_DAYS.days + 1.day),
:last_jam_locidispid => 3,
:last_jam_addr => 3
)
}
let (:drummer) { FactoryGirl.create(:user,
:last_jam_locidispid => 1,
@ -38,27 +45,51 @@ describe EmailBatchNewMusician do
let (:loser) { FactoryGirl.create(:user,
:last_jam_locidispid => 2,
:last_jam_addr => 2) }
let (:drummer3) { FactoryGirl.create(:user,
:last_jam_locidispid => 3,
:last_jam_addr => 3) }
let (:guitarist3) { FactoryGirl.create(:user,
:last_jam_locidispid => 3,
:last_jam_addr => 3) }
let (:bassist3) { FactoryGirl.create(:user,
:last_jam_locidispid => 3,
:last_jam_addr => 3) }
let (:vocalist3) { FactoryGirl.create(:user,
:last_jam_locidispid => 3,
:last_jam_addr => 3) }
before(:each) do
drummer; guitarist; bassist; vocalist; loser
drummer3; guitarist3; bassist3; vocalist3
receiver1; receiver2
new_musician_batch.reset!
JamRuby::Score.delete_all
JamRuby::Score.createx(1, 'a', 1, 1, 'a', 1, 10)
JamRuby::Score.createx(1, 'a', 1, 2, 'a', 2, Score::MAX_YELLOW_LATENCY + 1)
end
it 'sets up data properly' do
receiver; drummer; loser; vocalist
results = new_musician_batch.fetch_recipients
expect(results.count).to eq(1)
user, new_musicians = results[0]
expect(user.id).to eq(receiver.id)
expect(new_musicians.count).to eq(2)
expect(user.id).to eq(receiver1.id)
expect(new_musicians.count).to eq(4)
end
it 'sends email' do
receiver; drummer; loser; vocalist
ebatch = new_musician_batch
ebatch.deliver_batch
expect(UserMailer.deliveries.length).to eq(1)
end
it 'handles multiple receivers' do
JamRuby::Score.createx(1, 'a', 1, 3, 'a', 3, 10)
results = new_musician_batch.fetch_recipients
expect(results.count).to eq(2)
user, new_musicians = results.detect { |rr| rr[0].id == receiver1.id }
expect(new_musicians.count).to eq(8)
user, new_musicians = results.detect { |rr| rr[0].id == receiver2.id }
expect(new_musicians.count).to eq(4)
end
end
end