Commit 09112dbb1df2669b0042d6d785a5469a9855ac20
1 parent
bbef8bb5
Exists in
master
and in
4 other branches
Rebase on master
Trying to retrigger travis Change-Id: Ifd86fb4c6b2791ad176230254fbf69a9ade979fb
Showing
5 changed files
with
21 additions
and
11 deletions
Show diff stats
app/models/merge_request.rb
... | ... | @@ -105,11 +105,11 @@ class MergeRequest < ActiveRecord::Base |
105 | 105 | end |
106 | 106 | |
107 | 107 | if opened? || reopened? |
108 | - similar_mrs = self.project.merge_requests.where(source_branch: source_branch, target_branch: target_branch).opened | |
108 | + similar_mrs = self.target_project.merge_requests.where(source_branch: source_branch, target_branch: target_branch, source_project_id: source_project.id).opened | |
109 | 109 | similar_mrs = similar_mrs.where('id not in (?)', self.id) if self.id |
110 | 110 | |
111 | 111 | if similar_mrs.any? |
112 | - errors.add :base, "There is already an open merge request for this branches" | |
112 | + errors.add :base, "Cannot Create: This merge request already exists: #{similar_mrs.pluck(:title)}" | |
113 | 113 | end |
114 | 114 | end |
115 | 115 | end | ... | ... |
app/observers/merge_request_observer.rb
features/steps/project/project_merge_requests.rb
... | ... | @@ -57,11 +57,17 @@ class ProjectMergeRequests < Spinach::FeatureSteps |
57 | 57 | end |
58 | 58 | |
59 | 59 | And 'I submit new merge request "Wiki Feature"' do |
60 | - fill_in "merge_request_title", :with => "Wiki Feature" | |
60 | + #this must come first, so that the target branch is set by the time the "select" for "notes_refactoring" is executed | |
61 | 61 | select project.path_with_namespace, :from => "merge_request_target_project_id" |
62 | + fill_in "merge_request_title", :with => "Wiki Feature" | |
62 | 63 | select "master", :from => "merge_request_source_branch" |
63 | - select "stable", :from => "merge_request_target_branch" | |
64 | - find(:select, "merge_request_target_branch", {}).find(:option, "stable", {}).value.should == "stable" | |
64 | + find(:select, "merge_request_target_project_id", {}).value.should == project.id.to_s | |
65 | + find(:select, "merge_request_source_project_id", {}).value.should == project.id.to_s | |
66 | + | |
67 | + #using "notes_refactoring" because "Bug NS-04" uses master/stable, this will fail merge_request validation if the branches are the same | |
68 | + find(:select, "merge_request_target_branch", {}).find(:option, "notes_refactoring", {}).value.should == "notes_refactoring" | |
69 | + select "notes_refactoring", :from => "merge_request_target_branch" | |
70 | + | |
65 | 71 | click_button "Submit merge request" |
66 | 72 | end |
67 | 73 | ... | ... |
spec/contexts/filter_context_spec.rb
... | ... | @@ -9,7 +9,7 @@ describe FilterContext do |
9 | 9 | let(:merge_request1) { create(:merge_request, author_id: user.id, source_project: project1, target_project: project2) } |
10 | 10 | let(:merge_request2) { create(:merge_request, author_id: user.id, source_project: project2, target_project: project1) } |
11 | 11 | let(:merge_request3) { create(:merge_request, author_id: user.id, source_project: project2, target_project: project2) } |
12 | - let(:merge_request4) { create(:merge_request, author_id: user2.id, source_project: project2, target_project: project2) } | |
12 | + let(:merge_request4) { create(:merge_request, author_id: user2.id, source_project: project2, target_project: project2, target_branch:"notes_refactoring") } | |
13 | 13 | let(:issue1) { create(:issue, assignee_id: user.id, project: project1) } |
14 | 14 | let(:issue2) { create(:issue, assignee_id: user.id, project: project2) } |
15 | 15 | let(:issue3) { create(:issue, assignee_id: user2.id, project: project2) } | ... | ... |
spec/services/notification_service_spec.rb
... | ... | @@ -232,11 +232,16 @@ describe NotificationService do |
232 | 232 | end |
233 | 233 | end |
234 | 234 | |
235 | + let(:u_watcher) { create(:user, notification_level: Notification::N_WATCH) } | |
236 | + let(:u_participating) { create(:user, notification_level: Notification::N_PARTICIPATING) } | |
237 | + let(:u_disabled) { create(:user, notification_level: Notification::N_DISABLED) } | |
238 | + let(:u_mentioned) { create(:user, username: 'mention', notification_level: Notification::N_WATCH) } | |
239 | + | |
235 | 240 | def build_team(project) |
236 | - @u_watcher = create(:user, notification_level: Notification::N_WATCH) | |
237 | - @u_participating = create(:user, notification_level: Notification::N_PARTICIPATING) | |
238 | - @u_disabled = create(:user, notification_level: Notification::N_DISABLED) | |
239 | - @u_mentioned = create(:user, username: 'mention', notification_level: Notification::N_WATCH) | |
241 | + @u_watcher = u_watcher | |
242 | + @u_participating = u_participating | |
243 | + @u_disabled = u_disabled | |
244 | + @u_mentioned = u_mentioned | |
240 | 245 | |
241 | 246 | project.team << [@u_watcher, :master] |
242 | 247 | project.team << [@u_participating, :master] | ... | ... |