require 'spec_helper'

describe UsersGroupObserver do
  before(:each) { enable_observers }
  after(:each) { disable_observers }

  subject { UsersGroupObserver.instance }
  before { subject.stub(notification: double('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

    it "does not send an email when the access level has not changed" do
      subject.should_not_receive(:notification)
      @membership.update_attribute(:group_access, UsersGroup::OWNER)
    end
  end
end