Commit 60c6649a9ac231aabb9361bb8b9a14c60771afb3
1 parent
6b941cf9
Exists in
master
and in
4 other branches
tests for merge request index/show
Showing
3 changed files
with
59 additions
and
4 deletions
Show diff stats
spec/factories.rb
| @@ -34,6 +34,12 @@ Factory.add(:issue, Issue) do |obj| | @@ -34,6 +34,12 @@ Factory.add(:issue, Issue) do |obj| | ||
| 34 | obj.title = Faker::Lorem.sentence | 34 | obj.title = Faker::Lorem.sentence |
| 35 | end | 35 | end |
| 36 | 36 | ||
| 37 | +Factory.add(:merge_request, MergeRequest) do |obj| | ||
| 38 | + obj.title = Faker::Lorem.sentence | ||
| 39 | + obj.source_branch = "master" | ||
| 40 | + obj.target_branch = "master" | ||
| 41 | +end | ||
| 42 | + | ||
| 37 | Factory.add(:snippet, Snippet) do |obj| | 43 | Factory.add(:snippet, Snippet) do |obj| |
| 38 | obj.title = Faker::Lorem.sentence | 44 | obj.title = Faker::Lorem.sentence |
| 39 | obj.file_name = Faker::Lorem.sentence | 45 | obj.file_name = Faker::Lorem.sentence |
spec/requests/merge_requests_spec.rb
| 1 | require 'spec_helper' | 1 | require 'spec_helper' |
| 2 | 2 | ||
| 3 | describe "MergeRequests" do | 3 | describe "MergeRequests" do |
| 4 | + let(:project) { Factory :project } | ||
| 5 | + | ||
| 6 | + before do | ||
| 7 | + login_as :user | ||
| 8 | + project.add_access(@user, :read, :write) | ||
| 9 | + @merge_request = Factory :merge_request, | ||
| 10 | + :author => @user, | ||
| 11 | + :assignee => @user, | ||
| 12 | + :project => project | ||
| 13 | + end | ||
| 14 | + | ||
| 4 | describe "GET /merge_requests" do | 15 | describe "GET /merge_requests" do |
| 5 | - it "works! (now write some real specs)" do | ||
| 6 | - # Run the generator again with the --webrat flag if you want to use webrat methods/matchers | ||
| 7 | - get merge_requests_path | ||
| 8 | - response.status.should be(200) | 16 | + before do |
| 17 | + visit project_merge_requests_path(project) | ||
| 18 | + end | ||
| 19 | + | ||
| 20 | + subject { page } | ||
| 21 | + | ||
| 22 | + it { should have_content(@merge_request.title) } | ||
| 23 | + it { should have_content(@merge_request.target_branch) } | ||
| 24 | + it { should have_content(@merge_request.source_branch) } | ||
| 25 | + it { should have_content(@merge_request.assignee.name) } | ||
| 26 | + end | ||
| 27 | + | ||
| 28 | + describe "GET /merge_request/:id" do | ||
| 29 | + before do | ||
| 30 | + visit project_merge_request_path(project, @merge_request) | ||
| 31 | + end | ||
| 32 | + | ||
| 33 | + subject { page } | ||
| 34 | + | ||
| 35 | + it { should have_content(@merge_request.title) } | ||
| 36 | + it { should have_content(@merge_request.target_branch) } | ||
| 37 | + it { should have_content(@merge_request.source_branch) } | ||
| 38 | + it { should have_content(@merge_request.assignee.name) } | ||
| 39 | + | ||
| 40 | + describe "Close merge request" do | ||
| 41 | + before { click_link "Close" } | ||
| 42 | + | ||
| 43 | + it { should have_content(@merge_request.title) } | ||
| 44 | + it "Show page should inform user that merge request closed" do | ||
| 45 | + within ".merge-request-show-holder h3" do | ||
| 46 | + page.should have_content "Closed" | ||
| 47 | + end | ||
| 48 | + end | ||
| 9 | end | 49 | end |
| 10 | end | 50 | end |
| 11 | end | 51 | end |
spec/requests/projects_security_spec.rb
| @@ -122,5 +122,14 @@ describe "Projects" do | @@ -122,5 +122,14 @@ describe "Projects" do | ||
| 122 | it { project_snippets_path(@project).should be_denied_for :user } | 122 | it { project_snippets_path(@project).should be_denied_for :user } |
| 123 | it { project_snippets_path(@project).should be_denied_for :visitor } | 123 | it { project_snippets_path(@project).should be_denied_for :visitor } |
| 124 | end | 124 | end |
| 125 | + | ||
| 126 | + describe "GET /project_code/merge_requests" do | ||
| 127 | + it { project_merge_requests_path(@project).should be_allowed_for @u1 } | ||
| 128 | + it { project_merge_requests_path(@project).should be_allowed_for @u3 } | ||
| 129 | + it { project_merge_requests_path(@project).should be_denied_for :admin } | ||
| 130 | + it { project_merge_requests_path(@project).should be_denied_for @u2 } | ||
| 131 | + it { project_merge_requests_path(@project).should be_denied_for :user } | ||
| 132 | + it { project_merge_requests_path(@project).should be_denied_for :visitor } | ||
| 133 | + end | ||
| 125 | end | 134 | end |
| 126 | end | 135 | end |