Skip to content
Snippets Groups Projects
Commit 3c96d1f0 authored by Alex Denisov's avatar Alex Denisov
Browse files

Send notification on update UserProject relation (access changed)

parent aaeb3741
No related branches found
No related tags found
1 merge request!1305Project access notifications
Loading
Loading
@@ -2,4 +2,8 @@ class UsersProjectObserver < ActiveRecord::Observer
def after_create(users_project)
Notify.project_access_granted_email(users_project.id).deliver
end
def after_update(users_project)
Notify.project_access_granted_email(users_project.id).deliver
end
end
Loading
Loading
@@ -23,7 +23,7 @@ module Gitlab
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
 
# Activate observers that should always be running.
config.active_record.observers = :mailer_observer, :activity_observer, :project_observer, :key_observer, :issue_observer, :user_observer, :system_hook_observer
config.active_record.observers = :mailer_observer, :activity_observer, :project_observer, :key_observer, :issue_observer, :user_observer, :system_hook_observer, :users_project_observer
 
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
Loading
Loading
Loading
Loading
@@ -6,8 +6,8 @@ describe UsersProjectObserver do
code: "Fuu",
path: "Fuu" ) }
let(:users_project) { Factory.create(:users_project,
project: project,
user: user )}
project: project,
user: user )}
subject { UsersProjectObserver.instance }
 
describe "#after_create" do
Loading
Loading
@@ -24,4 +24,17 @@ describe UsersProjectObserver do
subject.after_create(users_project)
end
end
describe "#after_update" do
it "should called when UsersProject updated" do
subject.should_receive(:after_update)
UsersProject.observers.enable :users_project_observer do
users_project.update_attribute(:project_access, 40)
end
end
it "should send email to user" do
Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true))
subject.after_update(users_project)
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment