diff options
author | Alex Denisov <1101.debian@gmail.com> | 2012-09-20 10:25:29 +0300 |
---|---|---|
committer | Alex Denisov <1101.debian@gmail.com> | 2012-09-20 10:25:29 +0300 |
commit | e6ce47291b3f08ebe18c2450fc4f21a2a3a2b8a9 (patch) | |
tree | 0e5fa008658b3e890cc447477f533f35c45aafa5 /spec/observers | |
parent | 77bfc591bf5836892be26059d92411f9fbf04be9 (diff) | |
parent | 6104942438c14ec7bd21c6cd5bd995272b3faff6 (diff) | |
download | gitlab-ce-e6ce47291b3f08ebe18c2450fc4f21a2a3a2b8a9.tar.gz |
master merged
Diffstat (limited to 'spec/observers')
-rw-r--r-- | spec/observers/user_observer_spec.rb | 7 | ||||
-rw-r--r-- | spec/observers/users_project_observer_spec.rb | 28 |
2 files changed, 22 insertions, 13 deletions
diff --git a/spec/observers/user_observer_spec.rb b/spec/observers/user_observer_spec.rb index 23dac98bb74..0420a250c8a 100644 --- a/spec/observers/user_observer_spec.rb +++ b/spec/observers/user_observer_spec.rb @@ -13,7 +13,7 @@ describe UserObserver do end context 'when a new user is created' do - let(:user) { double(:user, id: 42, password: 'P@ssword!') } + let(:user) { double(:user, id: 42, password: 'P@ssword!', name: 'John', email: 'u@mail.local') } let(:notification) { double :notification } it 'sends an email' do @@ -22,5 +22,10 @@ describe UserObserver do subject.after_create(user) end + + it 'trigger logger' do + Gitlab::AppLogger.should_receive(:info) + subject.after_create(user) + end end end diff --git a/spec/observers/users_project_observer_spec.rb b/spec/observers/users_project_observer_spec.rb index 650321ce91c..2009b85ffc8 100644 --- a/spec/observers/users_project_observer_spec.rb +++ b/spec/observers/users_project_observer_spec.rb @@ -1,6 +1,7 @@ require 'spec_helper' describe UsersProjectObserver do +# let(:users_project) { stub.as_null_object } let(:user) { Factory.create :user } let(:project) { Factory.create(:project, code: "Fuu", @@ -14,21 +15,23 @@ describe UsersProjectObserver do it "should called when UsersProject created" do subject.should_receive(:after_commit).once UsersProject.observers.enable :users_project_observer do - Factory.create(:users_project, - project: project, - user: user) + create(:users_project) 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_commit(users_project) + Event.stub(:create => true) end + it "should create new event" do Event.should_receive(:create).with( - project_id: users_project.project.id, - action: Event::Joined, + project_id: users_project.project.id, + action: Event::Joined, author_id: users_project.user.id ) + subject.after_create(users_project) end end @@ -37,9 +40,10 @@ describe UsersProjectObserver do it "should called when UsersProject updated" do subject.should_receive(:after_commit).once UsersProject.observers.enable :users_project_observer do - users_project.update_attribute(:project_access, 40) + create(:users_project).update_attribute(:project_access, UsersProject::MASTER) 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_commit(users_project) @@ -51,20 +55,20 @@ describe UsersProjectObserver do end end end + describe "#after_destroy" do it "should called when UsersProject destroyed" do subject.should_receive(:after_destroy) + UsersProject.observers.enable :users_project_observer do - UsersProject.bulk_delete( - users_project.project, - [users_project.user.id] - ) + create(:users_project).destroy end end + it "should create new event" do Event.should_receive(:create).with( - project_id: users_project.project.id, - action: Event::Left, + project_id: users_project.project.id, + action: Event::Left, author_id: users_project.user.id ) subject.after_destroy(users_project) |