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)
- 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)
......
......@@ -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
......
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
@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
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
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