diff --git a/lib/tasks/budgets.rake b/lib/tasks/budgets.rake index 172944420..008b29bef 100644 --- a/lib/tasks/budgets.rake +++ b/lib/tasks/budgets.rake @@ -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 diff --git a/spec/lib/tasks/budgets_spec.rb b/spec/lib/tasks/budgets_spec.rb new file mode 100644 index 000000000..c58c24ff9 --- /dev/null +++ b/spec/lib/tasks/budgets_spec.rb @@ -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