65fe4bb1ce
This minimizes usage of instance variables in this spec, and changes double quotation marks to single when string interpolation is not being used.
89 lines
2.4 KiB
Ruby
89 lines
2.4 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'Commits' do
|
|
include CiStatusHelper
|
|
|
|
let(:project) { create(:project) }
|
|
|
|
describe 'CI' do
|
|
before do
|
|
login_as :user
|
|
project.team << [@user, :master]
|
|
project.ensure_gitlab_ci_project
|
|
stub_ci_commit_to_return_yaml_file
|
|
end
|
|
|
|
let!(:commit) do
|
|
FactoryGirl.create :ci_commit, gl_project: project, sha: project.commit.sha
|
|
end
|
|
|
|
let!(:build) { FactoryGirl.create :ci_build, commit: commit }
|
|
|
|
describe 'GET /:project/commits/:sha/ci' do
|
|
before do
|
|
visit ci_status_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
|
|
|
|
context 'Download artifacts' do
|
|
let(:artifacts_file) { fixture_file_upload(Rails.root + 'spec/fixtures/banana_sample.gif', 'image/gif') }
|
|
|
|
before do
|
|
build.update_attributes(artifacts_file: artifacts_file)
|
|
end
|
|
|
|
it do
|
|
visit ci_status_path(commit)
|
|
click_on 'Download artifacts'
|
|
expect(page.response_headers['Content-Type']).to eq(artifacts_file.content_type)
|
|
end
|
|
end
|
|
|
|
describe 'Cancel all builds' do
|
|
it 'cancels commit' do
|
|
visit ci_status_path(commit)
|
|
click_on 'Cancel running'
|
|
expect(page).to have_content 'canceled'
|
|
end
|
|
end
|
|
|
|
describe 'Cancel build' do
|
|
it 'cancels build' do
|
|
visit ci_status_path(commit)
|
|
click_on 'Cancel'
|
|
expect(page).to have_content 'canceled'
|
|
end
|
|
end
|
|
|
|
describe '.gitlab-ci.yml not found warning' do
|
|
context 'ci service enabled' do
|
|
it "does not show warning" do
|
|
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_status_path(commit)
|
|
expect(page).to have_content '.gitlab-ci.yml not found in this commit'
|
|
end
|
|
end
|
|
|
|
context 'ci service disabled' do
|
|
before do
|
|
stub_ci_service_disabled
|
|
stub_ci_commit_yaml_file(nil)
|
|
visit ci_status_path(commit)
|
|
end
|
|
|
|
it 'does not show warning' do
|
|
expect(page).not_to have_content '.gitlab-ci.yml not found in this commit'
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|