Commit 67896ea9a258eee8bb8ecca849d59f48e16ac77a
1 parent
6a9e7dc5
Exists in
master
and in
4 other branches
Fixed missing current user for issue observer
Showing
3 changed files
with
25 additions
and
25 deletions
Show diff stats
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) } |