diff options
author | Grzegorz Bizon <grzegorz.bizon@ntsn.pl> | 2015-12-08 11:59:46 +0100 |
---|---|---|
committer | Grzegorz Bizon <grzegorz.bizon@ntsn.pl> | 2015-12-14 09:59:08 +0100 |
commit | 65fe4bb1ceed6bae05724f3494fb57e8b09fa616 (patch) | |
tree | 8442c94b804435e8a0ac7eb73e470862724318c4 /spec | |
parent | 00155b6c694d7d9a016b532694f5049b70e9a4db (diff) | |
download | gitlab-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.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/features/commits_spec.rb | 70 | ||||
-rw-r--r-- | spec/support/stub_gitlab_calls.rb | 4 |
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 |