diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-05-07 14:09:21 +0200 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-05-07 14:09:21 +0200 |
commit | c195b313ad2f84e79475058ab431648bed76fcbc (patch) | |
tree | be0e3aed99a7ff48ec9a73cc3ebc2af031e25f65 /spec/features/projects | |
parent | b46d38aef4948c0a428c4334adc8aa221923decd (diff) | |
download | gitlab-ce-c195b313ad2f84e79475058ab431648bed76fcbc.tar.gz |
Make test that actually displays pipeline graph
Diffstat (limited to 'spec/features/projects')
-rw-r--r-- | spec/features/projects/pipelines/pipelines_spec.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/spec/features/projects/pipelines/pipelines_spec.rb b/spec/features/projects/pipelines/pipelines_spec.rb index 2272b19bc8f..8e820edee35 100644 --- a/spec/features/projects/pipelines/pipelines_spec.rb +++ b/spec/features/projects/pipelines/pipelines_spec.rb @@ -370,6 +370,60 @@ describe 'Pipelines', :feature, :js do end end + describe 'GET /:project/pipelines/show' do + let(:project) { create(:project) } + + let(:pipeline) do + create(:ci_empty_pipeline, + project: project, + sha: project.commit.id, + user: user) + end + + before do + create_build('build', 0, 'build', :success) + create_build('test', 1, 'rspec 0:2', :pending) + create_build('test', 1, 'rspec 1:2', :running) + create_build('test', 1, 'spinach 0:2', :created) + create_build('test', 1, 'spinach 1:2', :created) + create_build('test', 1, 'audit', :created) + create_build('deploy', 2, 'production', :created) + + create(:generic_commit_status, pipeline: pipeline, stage: 'external', name: 'jenkins', stage_idx: 3) + + visit namespace_project_pipeline_path(project.namespace, project, pipeline) + wait_for_vue_resource + end + + it 'shows a graph with grouped stages' do + expect(page).to have_css('.js-pipeline-graph') + # expect(page).to have_css('.js-grouped-pipeline-dropdown') + + # header + expect(page).to have_text("##{pipeline.id}") + expect(page).to have_css('time', text: pipeline.created_at.strftime("%b %d, %Y")) + expect(page).to have_selector(%Q(img[alt$="#{pipeline.user.name}'s avatar"])) + expect(page).to have_link(pipeline.user.name, href: user_path(pipeline.user)) + + # stages + expect(page).to have_text('Build') + expect(page).to have_text('Test') + expect(page).to have_text('Deploy') + expect(page).to have_text('External') + + # builds + expect(page).to have_text('rspec') + expect(page).to have_text('spinach') + expect(page).to have_text('rspec 0:2') + expect(page).to have_text('production') + expect(page).to have_text('jenkins') + end + + def create_build(stage, stage_idx, name, status) + create(:ci_build, pipeline: pipeline, stage: stage, stage_idx: stage_idx, name: name, status: status) + end + end + describe 'POST /:project/pipelines' do let(:project) { create(:project) } |