diff --git a/app/controllers/youth/event/participations_controller.rb b/app/controllers/youth/event/participations_controller.rb
index bc5887d..d00166b 100644
--- a/app/controllers/youth/event/participations_controller.rb
+++ b/app/controllers/youth/event/participations_controller.rb
@@ -14,6 +14,11 @@ module Youth::Event::ParticipationsController
alias_method_chain :return_path, :managed
alias_method_chain :after_destroy_path, :managed
alias_method_chain :set_success_notice, :managed
+
+ def current_user_interested_in_mail?
+ # send email to kind and verwalter
+ current_user.and_manageds.map(&:id).include? entry.person_id
+ end
end
def cancel
diff --git a/spec/controllers/event/participations_controller_spec.rb b/spec/controllers/event/participations_controller_spec.rb
index da5f1a0..f1fcd29 100644
--- a/spec/controllers/event/participations_controller_spec.rb
+++ b/spec/controllers/event/participations_controller_spec.rb
@@ -36,6 +36,25 @@
end
context 'POST#create' do
+ let(:pending_dj_handlers) { Delayed::Job.all.pluck(:handler) }
+ let(:user) { people(:bottom_member) }
+
+ it "sends confirmation mail when manager registers managed" do
+ PeopleManager.create!(manager_id: people(:top_leader).id, managed_id: user.id)
+ course.update!(waiting_list: false, maximum_participants: 2, participant_count: 1, automatic_assignment: true)
+
+ expect do
+ post :create, params: {group_id: group.id, event_id: course.id, event_participation: {person_id: user.id}}
+ expect(assigns(:participation)).to be_valid
+ end.to change { Delayed::Job.count }
+
+ expect(pending_dj_handlers).to be_one { |h| h =~ /Event::ParticipationNotificationJob/ }
+ expect(pending_dj_handlers).to be_one { |h| h =~ /Event::ParticipationConfirmationJob/ }
+
+ expect(flash[:notice])
+ .to include "Teilnahme von #{user} in Eventus wurde erfolgreich erstellt. Bitte überprüfe die Kontaktdaten und passe diese gegebenenfalls an."
+ expect(flash[:warning]).to be_nil
+ end
it 'sets participation state to applied' do
post :create,