Use InviteEmail worker in InvitationsController create action.

This commit is contained in:
David Thompson 2013-07-01 21:07:24 -04:00
parent 33f858b558
commit 0cc02fb512
2 changed files with 11 additions and 12 deletions

View file

@ -58,9 +58,10 @@ class InvitationsController < ApplicationController
session[:invalid_email_invites] = invalid_emails session[:invalid_email_invites] = invalid_emails
unless valid_emails.empty? unless valid_emails.empty?
inviter = EmailInviter.new(valid_emails.join(','), current_user, Workers::Mail::InviteEmail.perform_async(valid_emails.join(','),
params[:email_inviter]) current_user.id,
inviter.send! params[:email_inviter])
end end
if emails.empty? if emails.empty?

View file

@ -26,7 +26,7 @@ describe InvitationsController do
end end
it 'does not create an EmailInviter' do it 'does not create an EmailInviter' do
EmailInviter.should_not_receive(:new) Workers::Mail::InviteEmail.should_not_receive(:perform_async)
post :create, @invite post :create, @invite
end end
@ -47,10 +47,9 @@ describe InvitationsController do
@invite = {'email_inviter' => {'message' => "test", 'emails' => @emails}} @invite = {'email_inviter' => {'message' => "test", 'emails' => @emails}}
end end
it 'creates an EmailInviter' do it 'creates an InviteEmail worker' do
inviter = stub(:emails => [@emails], :send! => true) inviter = stub(:emails => [@emails], :send! => true)
EmailInviter.should_receive(:new).with(@invite['email_inviter']['emails'], @user, @invite['email_inviter']). Workers::Mail::InviteEmail.should_receive(:perform_async).with(@invite['email_inviter']['emails'], @user.id, @invite['email_inviter'])
and_return(inviter)
post :create, @invite post :create, @invite
end end
@ -72,8 +71,8 @@ describe InvitationsController do
@invite = {'email_inviter' => {'message' => "test", 'emails' => @emails}} @invite = {'email_inviter' => {'message' => "test", 'emails' => @emails}}
end end
it 'does not create an EmailInviter' do it 'does not create an InviteEmail worker' do
EmailInviter.should_not_receive(:new) Workers::Mail::InviteEmail.should_not_receive(:perform_async)
post :create, @invite post :create, @invite
end end
@ -98,10 +97,9 @@ describe InvitationsController do
@valid_emails + ',' + @invalid_emails}} @valid_emails + ',' + @invalid_emails}}
end end
it 'creates an EmailInviter' do it 'creates an InviteEmail worker' do
inviter = stub(:emails => [@emails], :send! => true) inviter = stub(:emails => [@emails], :send! => true)
EmailInviter.should_receive(:new).with(@valid_emails, @user, @invite['email_inviter']). Workers::Mail::InviteEmail.should_receive(:perform_async).with(@valid_emails, @user.id, @invite['email_inviter'])
and_return(inviter)
post :create, @invite post :create, @invite
end end