diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-10-06 20:36:22 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-10-06 20:36:22 +0200 |
commit | 27b75b2b2d9c274fca005949f645d97ce9333d71 (patch) | |
tree | 39f0d2af7098758bb89e8c1bb2e7584ec734eb87 | |
parent | 04c7dc2a9e2385ce47a70205eafd4cf4f91a0bba (diff) | |
download | gitlab-ce-27b75b2b2d9c274fca005949f645d97ce9333d71.tar.gz |
Refactor commit/build tests and fix CI cancel
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/controllers/ci/commits_controller.rb | 2 | ||||
-rw-r--r-- | spec/features/builds_spec.rb | 22 | ||||
-rw-r--r-- | spec/features/ci/builds_spec.rb | 28 | ||||
-rw-r--r-- | spec/features/commits_spec.rb (renamed from spec/features/ci/commits_spec.rb) | 45 |
5 files changed, 36 insertions, 62 deletions
diff --git a/CHANGELOG b/CHANGELOG index 0400dbfabec..388fa2f8966 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -32,6 +32,7 @@ v 8.1.0 (unreleased) - Fix User Identities API. It now allows you to properly create or update user's identities. - Add user preference to change layout width (Peter Göbel) - Use commit status in merge request widget as preffered source of CI status + - Integrate CI commit and build pages into project pages v 8.0.4 - Fix Message-ID header to be RFC 2111-compliant to prevent e-mails being dropped (Stan Hu) diff --git a/app/controllers/ci/commits_controller.rb b/app/controllers/ci/commits_controller.rb index 404e0e4b412..7e6705c9702 100644 --- a/app/controllers/ci/commits_controller.rb +++ b/app/controllers/ci/commits_controller.rb @@ -16,7 +16,7 @@ module Ci def cancel commit.builds.running_or_pending.each(&:cancel) - redirect_to ci_project_commits_path(project, commit.sha) + redirect_to namespace_project_commit_path(commit.gl_project.namespace, commit.gl_project, commit.sha) end private diff --git a/spec/features/builds_spec.rb b/spec/features/builds_spec.rb new file mode 100644 index 00000000000..d0d60491b65 --- /dev/null +++ b/spec/features/builds_spec.rb @@ -0,0 +1,22 @@ +require 'spec_helper' + +describe "Builds" do + + before do + login_as(:user) + @commit = FactoryGirl.create :ci_commit + @build = FactoryGirl.create :ci_build, commit: @commit + @gl_project = @commit.project.gl_project + @gl_project.team << [@user, :master] + end + + describe "GET /:project/builds/:id" do + before do + visit namespace_project_build_path(@gl_project.namespace, @gl_project, @build) + end + + it { expect(page).to have_content @commit.sha[0..7] } + it { expect(page).to have_content @commit.git_commit_message } + it { expect(page).to have_content @commit.git_author_name } + end +end diff --git a/spec/features/ci/builds_spec.rb b/spec/features/ci/builds_spec.rb index d65699dbefa..07f76e4065c 100644 --- a/spec/features/ci/builds_spec.rb +++ b/spec/features/ci/builds_spec.rb @@ -9,16 +9,6 @@ describe "Builds" do @commit.project.gl_project.team << [@user, :master] end - describe "GET /:project/builds/:id" do - before do - visit ci_project_build_path(@commit.project, @build) - end - - it { expect(page).to have_content @commit.sha[0..7] } - it { expect(page).to have_content @commit.git_commit_message } - it { expect(page).to have_content @commit.git_author_name } - end - describe "GET /:project/builds/:id/cancel" do before do @build.run! @@ -40,22 +30,4 @@ describe "Builds" do it { expect(page).to have_content 'Cancel' } end end - - context :public_project do - describe "Show page public accessible" do - before do - @commit = FactoryGirl.create :ci_commit - @commit.project.public = true - @commit.project.save - - @runner = FactoryGirl.create :ci_specific_runner - @build = FactoryGirl.create :ci_build, commit: @commit, runner: @runner - - stub_gitlab_calls - visit ci_project_build_path(@commit.project, @build) - end - - it { expect(page).to have_content @commit.sha[0..7] } - end - end end diff --git a/spec/features/ci/commits_spec.rb b/spec/features/commits_spec.rb index b4236e1e589..5da220859e3 100644 --- a/spec/features/ci/commits_spec.rb +++ b/spec/features/commits_spec.rb @@ -1,14 +1,17 @@ require 'spec_helper' describe "Commits" do - include Ci::CommitsHelper + include CiStatusHelper - context "Authenticated user" do + let(:project) { create(:project) } + + describe "CI" do before do - @commit = FactoryGirl.create :ci_commit - @build = FactoryGirl.create :ci_build, commit: @commit login_as :user - @commit.project.gl_project.team << [@user, :master] + project.team << [@user, :master] + @ci_project = project.ensure_gitlab_ci_project + @commit = FactoryGirl.create :ci_commit, gl_project: project, sha: project.commit.sha + @build = FactoryGirl.create :ci_build, commit: @commit end before do @@ -17,7 +20,7 @@ describe "Commits" do describe "GET /:project/commits/:sha" do before do - visit ci_commit_path(@commit) + visit ci_status_path(@commit) end it { expect(page).to have_content @commit.sha[0..7] } @@ -27,47 +30,23 @@ describe "Commits" do describe "Cancel commit" do it "cancels commit" do - visit ci_commit_path(@commit) + visit ci_status_path(@commit) click_on "Cancel" - expect(page).to have_content "canceled" end end describe ".gitlab-ci.yml not found warning" do it "does not show warning" do - visit ci_commit_path(@commit) - + visit ci_status_path(@commit) expect(page).not_to have_content ".gitlab-ci.yml not found in this commit" end it "shows warning" do stub_ci_commit_yaml_file(nil) - - visit ci_commit_path(@commit) - + visit ci_status_path(@commit) expect(page).to have_content ".gitlab-ci.yml not found in this commit" end end end - - context "Public pages" do - before do - @commit = FactoryGirl.create :ci_commit - @commit.project.public = true - @commit.project.save - - @build = FactoryGirl.create :ci_build, commit: @commit - end - - describe "GET /:project/commits/:sha" do - before do - visit ci_commit_path(@commit) - end - - it { expect(page).to have_content @commit.sha[0..7] } - it { expect(page).to have_content @commit.git_commit_message } - it { expect(page).to have_content @commit.git_author_name } - end - end end |