Improve build badge tests, add another test case

This commit is contained in:
Grzegorz Bizon 2016-02-08 12:42:35 +01:00
parent cf0eab5047
commit 29f2600ab6
3 changed files with 19 additions and 6 deletions

View file

@ -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

View file

@ -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

View file

@ -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