summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-02-08 12:42:35 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-02-11 10:29:14 +0100
commit29f2600ab6b04d95c7ef4fbfea7c4c9ecf638e97 (patch)
tree4e9b93744fda798dd661e8cdd51f0f97c293da0f
parentcf0eab504772c05b067ca60f78bc76779342c912 (diff)
downloadgitlab-ce-29f2600ab6b04d95c7ef4fbfea7c4c9ecf638e97.tar.gz
Improve build badge tests, add another test case
-rw-r--r--features/project/builds/badge.feature8
-rw-r--r--features/steps/project/builds/badge.rb13
-rw-r--r--features/steps/shared/builds.rb4
3 files changed, 19 insertions, 6 deletions
diff --git a/features/project/builds/badge.feature b/features/project/builds/badge.feature
index 4a198488f3d..64263b2f538 100644
--- a/features/project/builds/badge.feature
+++ b/features/project/builds/badge.feature
@@ -8,10 +8,14 @@ Feature: Project Builds Badge
Given recent build is successfull
When I display builds badge for a master branch
Then I should see a build success badge
- And build badge is a svg image
Scenario: I want to see a badge for project with filed builds
Given recent build failed
When I display builds badge for a master branch
Then I should see a build failed badge
- And build badge is a svg image
+
+ Scenario: I want to see a badge for project with running builds
+ Given recent build is successfull
+ And project has an another build that is running
+ When I display builds badge for a master branch
+ Then I should see a build running badge
diff --git a/features/steps/project/builds/badge.rb b/features/steps/project/builds/badge.rb
index 3cf1e2cab5e..0ceb4ddcd25 100644
--- a/features/steps/project/builds/badge.rb
+++ b/features/steps/project/builds/badge.rb
@@ -8,18 +8,23 @@ class Spinach::Features::ProjectBuildsBadge < Spinach::FeatureSteps
end
step 'I should see a build success badge' do
- expect(svg.at('text:contains("success")')).to be_truthy
+ expect_badge('success')
end
step 'I should see a build failed badge' do
- expect(svg.at('text:contains("failed")')).to be_truthy
+ expect_badge('failed')
end
- step 'build badge is a svg image' do
- expect(page.response_headers).to include('Content-Type' => 'image/svg+xml')
+ step 'I should see a build running badge' do
+ expect_badge('running')
end
def svg
Nokogiri::HTML.parse(page.body)
end
+
+ def expect_badge(status)
+ expect(page.response_headers).to include('Content-Type' => 'image/svg+xml')
+ expect(svg.at(%Q{text:contains("#{status}")})).to be_truthy
+ end
end
diff --git a/features/steps/shared/builds.rb b/features/steps/shared/builds.rb
index 055ebe1c815..7e1d9bb4056 100644
--- a/features/steps/shared/builds.rb
+++ b/features/steps/shared/builds.rb
@@ -18,6 +18,10 @@ module SharedBuilds
@build.update_column(:status, 'failed')
end
+ step 'project has an another build that is running' do
+ create(:ci_build, commit: @ci_commit, name: 'second build', status: 'running')
+ end
+
step 'I visit recent build details page' do
visit namespace_project_build_path(@project.namespace, @project, @build)
end