Commit 27b75b2b authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Refactor commit/build tests and fix CI cancel

Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 04c7dc2a
...@@ -32,6 +32,7 @@ v 8.1.0 (unreleased) ...@@ -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. - 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) - Add user preference to change layout width (Peter Göbel)
- Use commit status in merge request widget as preffered source of CI status - 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 v 8.0.4
- Fix Message-ID header to be RFC 2111-compliant to prevent e-mails being dropped (Stan Hu) - Fix Message-ID header to be RFC 2111-compliant to prevent e-mails being dropped (Stan Hu)
......
...@@ -16,7 +16,7 @@ module Ci ...@@ -16,7 +16,7 @@ module Ci
def cancel def cancel
commit.builds.running_or_pending.each(&: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 end
private private
......
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
...@@ -9,16 +9,6 @@ describe "Builds" do ...@@ -9,16 +9,6 @@ describe "Builds" do
@commit.project.gl_project.team << [@user, :master] @commit.project.gl_project.team << [@user, :master]
end 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 describe "GET /:project/builds/:id/cancel" do
before do before do
@build.run! @build.run!
...@@ -40,22 +30,4 @@ describe "Builds" do ...@@ -40,22 +30,4 @@ describe "Builds" do
it { expect(page).to have_content 'Cancel' } it { expect(page).to have_content 'Cancel' }
end end
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 end
require 'spec_helper' require 'spec_helper'
describe "Commits" do describe "Commits" do
include Ci::CommitsHelper include CiStatusHelper
context "Authenticated user" do let(:project) { create(:project) }
describe "CI" do
before do before do
@commit = FactoryGirl.create :ci_commit
@build = FactoryGirl.create :ci_build, commit: @commit
login_as :user 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 end
before do before do
...@@ -17,7 +20,7 @@ describe "Commits" do ...@@ -17,7 +20,7 @@ describe "Commits" do
describe "GET /:project/commits/:sha" do describe "GET /:project/commits/:sha" do
before do before do
visit ci_commit_path(@commit) visit ci_status_path(@commit)
end end
it { expect(page).to have_content @commit.sha[0..7] } it { expect(page).to have_content @commit.sha[0..7] }
...@@ -27,47 +30,23 @@ describe "Commits" do ...@@ -27,47 +30,23 @@ describe "Commits" do
describe "Cancel commit" do describe "Cancel commit" do
it "cancels commit" do it "cancels commit" do
visit ci_commit_path(@commit) visit ci_status_path(@commit)
click_on "Cancel" click_on "Cancel"
expect(page).to have_content "canceled" expect(page).to have_content "canceled"
end end
end end
describe ".gitlab-ci.yml not found warning" do describe ".gitlab-ci.yml not found warning" do
it "does not show 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" expect(page).not_to have_content ".gitlab-ci.yml not found in this commit"
end end
it "shows warning" do it "shows warning" do
stub_ci_commit_yaml_file(nil) stub_ci_commit_yaml_file(nil)
visit ci_status_path(@commit)
visit ci_commit_path(@commit)
expect(page).to have_content ".gitlab-ci.yml not found in this commit" expect(page).to have_content ".gitlab-ci.yml not found in this commit"
end end
end 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 end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment