Send emails to current budget authors in rake tasks
We were using `Budget.last`, but the last budget might not be published yet. I must admit I don't know whether these tasks are useful, but I'm not removing them because I'm not sure that won't harm any CONSUL installations.
This commit is contained in:
@@ -2,12 +2,12 @@ namespace :budgets do
|
||||
namespace :email do
|
||||
desc "Sends emails to authors of selected investments"
|
||||
task selected: :environment do
|
||||
Budget.last.email_selected
|
||||
Budget.current.email_selected
|
||||
end
|
||||
|
||||
desc "Sends emails to authors of unselected investments"
|
||||
task unselected: :environment do
|
||||
Budget.last.email_unselected
|
||||
Budget.current.email_unselected
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
31
spec/lib/tasks/budgets_spec.rb
Normal file
31
spec/lib/tasks/budgets_spec.rb
Normal file
@@ -0,0 +1,31 @@
|
||||
require "rails_helper"
|
||||
|
||||
describe "budget tasks" do
|
||||
describe "rake budgets:email:selected" do
|
||||
before { Rake::Task["budgets:email:selected"].reenable }
|
||||
|
||||
it "sends emails to users from the current budget and not the last budget created" do
|
||||
create(:budget_investment, :selected, author: create(:user, email: "selectme@consul.dev"))
|
||||
create(:budget, :drafting)
|
||||
|
||||
Rake.application.invoke_task("budgets:email:selected")
|
||||
|
||||
expect(ActionMailer::Base.deliveries.count).to eq 1
|
||||
expect(ActionMailer::Base.deliveries.last.to).to eq ["selectme@consul.dev"]
|
||||
end
|
||||
end
|
||||
|
||||
describe "rake budgets:email:unselected" do
|
||||
before { Rake::Task["budgets:email:unselected"].reenable }
|
||||
|
||||
it "sends emails to users from the current budget and not the last budget created" do
|
||||
create(:budget_investment, author: create(:user, email: "ignorme@consul.dev"))
|
||||
create(:budget, :drafting)
|
||||
|
||||
Rake.application.invoke_task("budgets:email:unselected")
|
||||
|
||||
expect(ActionMailer::Base.deliveries.count).to eq 1
|
||||
expect(ActionMailer::Base.deliveries.last.to).to eq ["ignorme@consul.dev"]
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user