Commit 67896ea9a258eee8bb8ecca849d59f48e16ac77a

Authored by Dmitriy Zaporozhets
1 parent 6a9e7dc5

Fixed missing current user for issue observer

lib/api/issues.rb
@@ -78,6 +78,7 @@ module Gitlab @@ -78,6 +78,7 @@ module Gitlab
78 78
79 attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id, :closed] 79 attrs = attributes_for_keys [:title, :description, :assignee_id, :milestone_id, :closed]
80 attrs[:label_list] = params[:labels] if params[:labels].present? 80 attrs[:label_list] = params[:labels] if params[:labels].present?
  81 + IssueObserver.current_user = current_user
81 if @issue.update_attributes attrs 82 if @issue.update_attributes attrs
82 present @issue, with: Entities::Issue 83 present @issue, with: Entities::Issue
83 else 84 else
spec/observers/users_project_observer_spec.rb
@@ -3,63 +3,62 @@ require 'spec_helper' @@ -3,63 +3,62 @@ require 'spec_helper'
3 describe UsersProjectObserver do 3 describe UsersProjectObserver do
4 let(:user) { create(:user) } 4 let(:user) { create(:user) }
5 let(:project) { create(:project) } 5 let(:project) { create(:project) }
6 - let(:users_project) { create(:users_project,  
7 - project: project,  
8 - user: user )}  
9 subject { UsersProjectObserver.instance } 6 subject { UsersProjectObserver.instance }
10 7
11 describe "#after_commit" do 8 describe "#after_commit" do
12 it "should called when UsersProject created" do 9 it "should called when UsersProject created" do
13 - subject.should_receive(:after_commit).once 10 + subject.should_receive(:after_commit)
14 create(:users_project) 11 create(:users_project)
15 end 12 end
16 13
17 it "should send email to user" do 14 it "should send email to user" do
18 - Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true))  
19 - subject.after_commit(users_project) 15 + Notify.should_receive(:project_access_granted_email).and_return(double(deliver: true))
20 Event.stub(:create => true) 16 Event.stub(:create => true)
  17 +
  18 + create(:users_project)
21 end 19 end
22 20
23 it "should create new event" do 21 it "should create new event" do
24 - Event.should_receive(:create).with(  
25 - project_id: users_project.project.id,  
26 - action: Event::Joined,  
27 - author_id: users_project.user.id  
28 - ) 22 + Event.should_receive(:create)
29 23
30 - subject.after_create(users_project) 24 + create(:users_project)
31 end 25 end
32 end 26 end
33 27
34 describe "#after_update" do 28 describe "#after_update" do
  29 + before do
  30 + @users_project = create :users_project
  31 + end
  32 +
35 it "should called when UsersProject updated" do 33 it "should called when UsersProject updated" do
36 - subject.should_receive(:after_commit).once  
37 - create(:users_project).update_attribute(:project_access, UsersProject::MASTER) 34 + subject.should_receive(:after_commit)
  35 + @users_project.update_attribute(:project_access, UsersProject::MASTER)
38 end 36 end
39 37
40 it "should send email to user" do 38 it "should send email to user" do
41 - Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true))  
42 - subject.after_commit(users_project) 39 + Notify.should_receive(:project_access_granted_email)
  40 + @users_project.update_attribute(:project_access, UsersProject::MASTER)
43 end 41 end
  42 +
44 it "should not called after UsersProject destroyed" do 43 it "should not called after UsersProject destroyed" do
45 subject.should_not_receive(:after_commit) 44 subject.should_not_receive(:after_commit)
46 - users_project.destroy 45 + @users_project.destroy
47 end 46 end
48 end 47 end
49 48
50 describe "#after_destroy" do 49 describe "#after_destroy" do
  50 + before do
  51 + @users_project = create :users_project
  52 + end
  53 +
51 it "should called when UsersProject destroyed" do 54 it "should called when UsersProject destroyed" do
52 subject.should_receive(:after_destroy) 55 subject.should_receive(:after_destroy)
53 - create(:users_project).destroy 56 + @users_project.destroy
54 end 57 end
55 58
56 it "should create new event" do 59 it "should create new event" do
57 - Event.should_receive(:create).with(  
58 - project_id: users_project.project.id,  
59 - action: Event::Left,  
60 - author_id: users_project.user.id  
61 - )  
62 - subject.after_destroy(users_project) 60 + Event.should_receive(:create)
  61 + @users_project.destroy
63 end 62 end
64 end 63 end
65 end 64 end
spec/requests/atom/issues_spec.rb
@@ -3,7 +3,7 @@ require 'spec_helper' @@ -3,7 +3,7 @@ require 'spec_helper'
3 describe "Issues Feed" do 3 describe "Issues Feed" do
4 describe "GET /issues" do 4 describe "GET /issues" do
5 let!(:user) { create(:user) } 5 let!(:user) { create(:user) }
6 - let!(:project) { create(:project, owner: user) } 6 + let!(:project) { create(:project, namespace: user.namespace) }
7 let!(:issue) { create(:issue, author: user, project: project) } 7 let!(:issue) { create(:issue, author: user, project: project) }
8 8
9 before { project.add_access(user, :read, :write) } 9 before { project.add_access(user, :read, :write) }