diff options
author | Izaak Alpert <ialpert@blackberry.com> | 2013-06-03 16:20:50 -0400 |
---|---|---|
committer | Izaak Alpert <ialpert@blackberry.com> | 2013-07-17 22:42:51 -0400 |
commit | 489fa5d72631505873b8c33f3a2bbd5919330a92 (patch) | |
tree | 077d5b267d1875c905d566dfe972f65507ee826b /spec/requests | |
parent | 3d7194f0112da12e8732df9ffe8b34fe7d0a9f6b (diff) | |
download | gitlab-ce-489fa5d72631505873b8c33f3a2bbd5919330a92.tar.gz |
MR on Fork multiple fixes
-Disable observers post test run
-Allow db:seed_fu RAILS_ENV=test to be run more than once without error
-fix diffs_in_between, was passing in the default_options for grit, but grit in this case doesn't take options, fixed the test to actually fail if the incorrect diffs are returned
-make notes/commits render against proper project
-MR discussion file links should reference note's project
-Added tests for commit links on edit merge request
-fixes edit issues (canceling an edited mr, updating an edited mr)
-updates tests with checks for source code updates
-still forked_merge_requests.feature (project_forked_merge_requests) test not passing (commented out -- "stable" not being set)
MR API: error on bad target_project
-If the target project id is specified and it is not the same as the project the request is being made on (the source), and the it isn't a fork of that project, error out, otherwise use it as the target
-Fixes some busted (but hidden) test cases
Conflicts:
app/views/merge_requests/show/_diffs.html.haml
spec/features/notes_on_merge_requests_spec.rb
Change-Id: I20e595c156d0e8a63048baaead7be6330c738a05
Diffstat (limited to 'spec/requests')
-rw-r--r-- | spec/requests/api/merge_requests_spec.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb index 7e5bf29788d..7b893c43379 100644 --- a/spec/requests/api/merge_requests_spec.rb +++ b/spec/requests/api/merge_requests_spec.rb @@ -79,6 +79,7 @@ describe API::API do let!(:user2) {create(:user)} let!(:forked_project_link) { build(:forked_project_link) } let!(:fork_project) { create(:source_project_with_code, forked_project_link: forked_project_link, namespace: user2.namespace, creator_id: user2.id) } + let!(:unrelated_project) { create(:target_project_with_code, namespace: user2.namespace, creator_id: user2.id) } before :each do |each| fork_project.team << [user2, :reporters] @@ -124,9 +125,21 @@ describe API::API do it "should return 400 when target_branch is specified and not a forked project" do post api("/projects/#{project.id}/merge_requests", user), - target_branch: 'master', source_branch: 'stable', author: user, target_project: fork_project.id + title: 'Test merge_request', target_branch: 'master', source_branch: 'stable', author: user, target_project_id: fork_project.id response.status.should == 400 end + + it "should return 400 when target_branch is specified and for a different fork" do + post api("/projects/#{fork_project.id}/merge_requests", user2), + title: 'Test merge_request', target_branch: 'master', source_branch: 'stable', author: user2, target_project_id: unrelated_project.id + response.status.should == 400 + end + + it "should return 201 when target_branch is specified and for the same project" do + post api("/projects/#{fork_project.id}/merge_requests", user2), + title: 'Test merge_request', target_branch: 'master', source_branch: 'stable', author: user2, target_project_id: fork_project.id + response.status.should == 201 + end end end |