summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz.bizon@ntsn.pl>2015-12-08 11:59:46 +0100
committerGrzegorz Bizon <grzegorz.bizon@ntsn.pl>2015-12-14 09:59:08 +0100
commit65fe4bb1ceed6bae05724f3494fb57e8b09fa616 (patch)
tree8442c94b804435e8a0ac7eb73e470862724318c4
parent00155b6c694d7d9a016b532694f5049b70e9a4db (diff)
downloadgitlab-ce-65fe4bb1ceed6bae05724f3494fb57e8b09fa616.tar.gz
Improve gitlab ci commits specs (refactoring)
This minimizes usage of instance variables in this spec, and changes double quotation marks to single when string interpolation is not being used.
-rw-r--r--spec/features/commits_spec.rb70
-rw-r--r--spec/support/stub_gitlab_calls.rb4
2 files changed, 39 insertions, 35 deletions
diff --git a/spec/features/commits_spec.rb b/spec/features/commits_spec.rb
index 130a5016b55..80ff4d3751f 100644
--- a/spec/features/commits_spec.rb
+++ b/spec/features/commits_spec.rb
@@ -1,83 +1,83 @@
require 'spec_helper'
-describe "Commits" do
+describe 'Commits' do
include CiStatusHelper
let(:project) { create(:project) }
- describe "CI" do
+ describe 'CI' do
before do
login_as :user
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
- @generic_status = FactoryGirl.create :generic_commit_status, commit: @commit
+ project.ensure_gitlab_ci_project
+ stub_ci_commit_to_return_yaml_file
end
- before do
- stub_ci_commit_to_return_yaml_file
+ let!(:commit) do
+ FactoryGirl.create :ci_commit, gl_project: project, sha: project.commit.sha
end
- describe "GET /:project/commits/:sha/ci" do
+ let!(:build) { FactoryGirl.create :ci_build, commit: commit }
+
+ describe 'GET /:project/commits/:sha/ci' do
before do
- visit ci_status_path(@commit)
+ 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 }
+ 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
+ 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)
+ build.update_attributes(artifacts_file: artifacts_file)
end
it do
- visit ci_status_path(@commit)
- click_on "Download artifacts"
+ 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"
+ 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"
+ 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
+ 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"
+ visit ci_status_path(commit)
+ expect(page).not_to have_content '.gitlab-ci.yml not found in this commit'
end
- it "shows warning" do
+ 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"
+ 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
- allow_any_instance_of(GitlabCiService).to receive(:active).and_return(false)
+ stub_ci_service_disabled
stub_ci_commit_yaml_file(nil)
- visit ci_status_path(@commit)
+ visit ci_status_path(commit)
end
it 'does not show warning' do
diff --git a/spec/support/stub_gitlab_calls.rb b/spec/support/stub_gitlab_calls.rb
index 5b3eb1bfc5f..90936183824 100644
--- a/spec/support/stub_gitlab_calls.rb
+++ b/spec/support/stub_gitlab_calls.rb
@@ -21,6 +21,10 @@ module StubGitlabCalls
allow_any_instance_of(Ci::Commit).to receive(:ci_yaml_file) { ci_yaml }
end
+ def stub_ci_service_disabled
+ allow_any_instance_of(GitlabCiService).to receive(:active).and_return(false)
+ end
+
private
def gitlab_url