Adds tests for the mini pipeline graph
This commit is contained in:
parent
dd5965a15a
commit
4b9bd18843
|
@ -748,7 +748,7 @@
|
||||||
.grouped-pipeline-dropdown {
|
.grouped-pipeline-dropdown {
|
||||||
right: -172px;
|
right: -172px;
|
||||||
top: 23px;
|
top: 23px;
|
||||||
min-height: 191px;
|
min-height: 50px;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: $gl-text-color-light;
|
color: $gl-text-color-light;
|
||||||
|
|
|
@ -83,7 +83,7 @@
|
||||||
.btn-group.inline
|
.btn-group.inline
|
||||||
- if actions.any?
|
- if actions.any?
|
||||||
.btn-group
|
.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')
|
= custom_icon('icon_play')
|
||||||
= icon('caret-down')
|
= icon('caret-down')
|
||||||
%ul.dropdown-menu.dropdown-menu-align-right
|
%ul.dropdown-menu.dropdown-menu-align-right
|
||||||
|
@ -94,7 +94,7 @@
|
||||||
%span= build.name.humanize
|
%span= build.name.humanize
|
||||||
- if artifacts.present?
|
- if artifacts.present?
|
||||||
.btn-group
|
.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("download")
|
||||||
= icon('caret-down')
|
= icon('caret-down')
|
||||||
%ul.dropdown-menu.dropdown-menu-align-right
|
%ul.dropdown-menu.dropdown-menu-align-right
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe "Pipelines" do
|
describe "Pipelines", feature: true, js:true do
|
||||||
include GitlabRoutingHelper
|
include GitlabRoutingHelper
|
||||||
|
include WaitForAjax
|
||||||
|
|
||||||
let(:project) { create(:empty_project) }
|
let(:project) { create(:empty_project) }
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
|
@ -76,7 +77,11 @@ describe "Pipelines" do
|
||||||
it { expect(page).to have_link('Manual build') }
|
it { expect(page).to have_link('Manual build') }
|
||||||
|
|
||||||
context 'when playing' do
|
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 }
|
it { expect(manual.reload).to be_pending }
|
||||||
end
|
end
|
||||||
|
@ -131,7 +136,10 @@ describe "Pipelines" do
|
||||||
before { visit namespace_project_pipelines_path(project.namespace, project) }
|
before { visit namespace_project_pipelines_path(project.namespace, project) }
|
||||||
|
|
||||||
it { expect(page).to have_selector('.build-artifacts') }
|
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
|
end
|
||||||
|
|
||||||
context 'with artifacts expired' do
|
context 'with artifacts expired' do
|
||||||
|
@ -150,6 +158,42 @@ describe "Pipelines" do
|
||||||
it { expect(page).not_to have_selector('.build-artifacts') }
|
it { expect(page).not_to have_selector('.build-artifacts') }
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|
||||||
describe 'GET /:project/pipelines/stage.json?name=stage' do
|
describe 'GET /:project/pipelines/stage.json?name=stage' do
|
||||||
|
|
Loading…
Reference in New Issue