Adds tests for the mini pipeline graph
This commit is contained in:
parent
dd5965a15a
commit
4b9bd18843
3 changed files with 50 additions and 6 deletions
|
@ -748,7 +748,7 @@
|
|||
.grouped-pipeline-dropdown {
|
||||
right: -172px;
|
||||
top: 23px;
|
||||
min-height: 191px;
|
||||
min-height: 50px;
|
||||
|
||||
a {
|
||||
color: $gl-text-color-light;
|
||||
|
|
|
@ -83,7 +83,7 @@
|
|||
.btn-group.inline
|
||||
- if actions.any?
|
||||
.btn-group
|
||||
%a.dropdown-toggle.btn.btn-default{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
%a.dropdown-toggle.btn.btn-default.js-pipeline-dropdown-manual-actions{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
= custom_icon('icon_play')
|
||||
= icon('caret-down')
|
||||
%ul.dropdown-menu.dropdown-menu-align-right
|
||||
|
@ -94,7 +94,7 @@
|
|||
%span= build.name.humanize
|
||||
- if artifacts.present?
|
||||
.btn-group
|
||||
%a.dropdown-toggle.btn.btn-default.build-artifacts{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
%a.dropdown-toggle.btn.btn-default.build-artifacts.js-pipeline-dropdown-download{type: 'button', 'data-toggle' => 'dropdown'}
|
||||
= icon("download")
|
||||
= icon('caret-down')
|
||||
%ul.dropdown-menu.dropdown-menu-align-right
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe "Pipelines" do
|
||||
describe "Pipelines", feature: true, js:true do
|
||||
include GitlabRoutingHelper
|
||||
include WaitForAjax
|
||||
|
||||
let(:project) { create(:empty_project) }
|
||||
let(:user) { create(:user) }
|
||||
|
@ -76,7 +77,11 @@ describe "Pipelines" do
|
|||
it { expect(page).to have_link('Manual build') }
|
||||
|
||||
context 'when playing' do
|
||||
before { click_link('Manual build') }
|
||||
|
||||
before do
|
||||
find('.js-pipeline-dropdown-manual-actions').click
|
||||
click_link('Manual build')
|
||||
end
|
||||
|
||||
it { expect(manual.reload).to be_pending }
|
||||
end
|
||||
|
@ -131,7 +136,10 @@ describe "Pipelines" do
|
|||
before { visit namespace_project_pipelines_path(project.namespace, project) }
|
||||
|
||||
it { expect(page).to have_selector('.build-artifacts') }
|
||||
it { expect(page).to have_link(with_artifacts.name) }
|
||||
it do
|
||||
find('.js-pipeline-dropdown-download').click
|
||||
expect(page).to have_link(with_artifacts.name)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with artifacts expired' do
|
||||
|
@ -150,6 +158,42 @@ describe "Pipelines" do
|
|||
it { expect(page).not_to have_selector('.build-artifacts') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'mini pipleine graph' do
|
||||
let!(:build) do
|
||||
create(:ci_build, pipeline: pipeline, stage: 'build', name: 'build')
|
||||
end
|
||||
|
||||
before do
|
||||
visit namespace_project_pipelines_path(project.namespace, project)
|
||||
end
|
||||
|
||||
it 'should render a mini pipeline graph' do
|
||||
endpoint = stage_namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline, stage: build.name)
|
||||
|
||||
expect(page).to have_selector('.mini-pipeline-graph')
|
||||
expect(page).to have_selector(".js-builds-dropdown-button[data-stage-endpoint='#{endpoint}']")
|
||||
end
|
||||
|
||||
context 'when clicking a graph stage' do
|
||||
it 'should open a dropdown' do
|
||||
find('.js-builds-dropdown-button').trigger('click')
|
||||
|
||||
wait_for_ajax
|
||||
|
||||
expect(page).to have_link build.name
|
||||
end
|
||||
|
||||
it 'should be possible to retry the failed build' do
|
||||
find('.js-builds-dropdown-button').trigger('click')
|
||||
|
||||
wait_for_ajax
|
||||
|
||||
find('a.ci-action-icon-container').trigger('click')
|
||||
expect(page).not_to have_content('Cancel running')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'GET /:project/pipelines/stage.json?name=stage' do
|
||||
|
|
Loading…
Reference in a new issue