Commit 8589824f005dc6d0c8291c454ff7ecdcadacf695

Authored by Dmitriy Zaporozhets
1 parent 73446fe1

Add UsersGroup observer

Trigger notification service when new user-group relation was created
app/observers/users_group_observer.rb 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +class UsersGroupObserver < BaseObserver
  2 + def after_create(membership)
  3 + notification.new_group_member(membership)
  4 + end
  5 +
  6 + def after_update(membership)
  7 + notification.update_group_member(membership)
  8 + end
  9 +end
... ...
spec/observers/users_group_observer_spec.rb 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +require 'spec_helper'
  2 +
  3 +describe UsersGroupObserver do
  4 + before(:each) { enable_observers }
  5 + after(:each) { disable_observers }
  6 +
  7 + subject { UsersGroupObserver.instance }
  8 + before { subject.stub(notification: mock('NotificationService').as_null_object) }
  9 +
  10 + describe "#after_create" do
  11 + it "should send email to user" do
  12 + subject.should_receive(:notification)
  13 + create(:users_group)
  14 + end
  15 + end
  16 +
  17 + describe "#after_update" do
  18 + before do
  19 + @membership = create :users_group
  20 + end
  21 +
  22 + it "should send email to user" do
  23 + subject.should_receive(:notification)
  24 + @membership.update_attribute(:group_access, UsersGroup::MASTER)
  25 + end
  26 + end
  27 +end
... ...