From cf0eab504772c05b067ca60f78bc76779342c912 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Mon, 8 Feb 2016 12:23:56 +0100 Subject: Add feature tests for builds status badge --- features/steps/project/builds/badge.rb | 25 +++++++++++++++++++++++++ features/steps/shared/builds.rb | 12 ++++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 features/steps/project/builds/badge.rb (limited to 'features/steps') diff --git a/features/steps/project/builds/badge.rb b/features/steps/project/builds/badge.rb new file mode 100644 index 00000000000..3cf1e2cab5e --- /dev/null +++ b/features/steps/project/builds/badge.rb @@ -0,0 +1,25 @@ +class Spinach::Features::ProjectBuildsBadge < Spinach::FeatureSteps + include SharedProject + include SharedBuilds + include RepoHelpers + + step 'I display builds badge for a master branch' do + visit badge_namespace_project_builds_path(@project.namespace, @project, ref: :master, format: :svg) + end + + step 'I should see a build success badge' do + expect(svg.at('text:contains("success")')).to be_truthy + end + + step 'I should see a build failed badge' do + expect(svg.at('text:contains("failed")')).to be_truthy + end + + step 'build badge is a svg image' do + expect(page.response_headers).to include('Content-Type' => 'image/svg+xml') + end + + def svg + Nokogiri::HTML.parse(page.body) + end +end diff --git a/features/steps/shared/builds.rb b/features/steps/shared/builds.rb index 726e2e814ad..055ebe1c815 100644 --- a/features/steps/shared/builds.rb +++ b/features/steps/shared/builds.rb @@ -6,8 +6,16 @@ module SharedBuilds end step 'project has a recent build' do - ci_commit = create :ci_commit, project: @project, sha: sample_commit.id - @build = create :ci_build, commit: ci_commit + @ci_commit = create(:ci_commit, project: @project, sha: @project.commit.sha) + @build = create(:ci_build, commit: @ci_commit) + end + + step 'recent build is successfull' do + @build.update_column(:status, 'success') + end + + step 'recent build failed' do + @build.update_column(:status, 'failed') end step 'I visit recent build details page' do -- cgit v1.2.3