Add UsersGroup observer

Trigger notification service when new user-group relation was created
This commit is contained in:
Dmitriy Zaporozhets
2013-09-12 18:59:31 +03:00
parent 73446fe15e
commit 8589824f00
2 changed files with 36 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
class UsersGroupObserver < BaseObserver
def after_create(membership)
notification.new_group_member(membership)
end
def after_update(membership)
notification.update_group_member(membership)
end
end
@@ -0,0 +1,27 @@
require 'spec_helper'
describe UsersGroupObserver do
before(:each) { enable_observers }
after(:each) { disable_observers }
subject { UsersGroupObserver.instance }
before { subject.stub(notification: mock('NotificationService').as_null_object) }
describe "#after_create" do
it "should send email to user" do
subject.should_receive(:notification)
create(:users_group)
end
end
describe "#after_update" do
before do
@membership = create :users_group
end
it "should send email to user" do
subject.should_receive(:notification)
@membership.update_attribute(:group_access, UsersGroup::MASTER)
end
end
end