BigW Consortium Gitlab

Commit 23557433 by Timothy Andrew

Merge remote-tracking branch 'origin/fix-9-2-stable-conflicts-for-mr-11706' into 9-2-stable

parents 670d8df5 34655464
......@@ -10,9 +10,9 @@ module Ci
has_one :last_pipeline, -> { order(id: :desc) }, class_name: 'Ci::Pipeline'
has_many :pipelines
validates :cron, unless: :importing_or_inactive?, cron: true, presence: { unless: :importing_or_inactive? }
validates :cron_timezone, cron_timezone: true, presence: { unless: :importing_or_inactive? }
validates :ref, presence: { unless: :importing_or_inactive? }
validates :cron, unless: :importing?, cron: true, presence: { unless: :importing? }
validates :cron_timezone, cron_timezone: true, presence: { unless: :importing? }
validates :ref, presence: { unless: :importing? }
validates :description, presence: true
before_save :set_next_run_at
......@@ -28,8 +28,12 @@ module Ci
!active?
end
def importing_or_inactive?
importing? || inactive?
def deactivate!
update_attribute(:active, false)
end
def runnable_by_owner?
Ability.allowed?(owner, :create_pipeline, project)
end
def set_next_run_at
......
......@@ -4,7 +4,9 @@
= pipeline_schedule.description
%td.branch-name-cell
= icon('code-fork')
= link_to pipeline_schedule.ref, namespace_project_commits_path(@project.namespace, @project, pipeline_schedule.ref), class: "branch-name"
- if pipeline_schedule.ref
= link_to pipeline_schedule.ref, namespace_project_commits_path(@project.namespace, @project, pipeline_schedule.ref), class: "branch-name"
%td
- if pipeline_schedule.last_pipeline
.status-icon-container{ class: "ci-status-icon-#{pipeline_schedule.last_pipeline.status}" }
......
---
title: Fix pipeline_schedules pages throwing error 500
merge_request: 11706
author: dosuken123
......@@ -66,6 +66,17 @@ feature 'Pipeline Schedules', :feature do
expect(page).not_to have_content('pipeline schedule')
end
end
context 'when ref is nil' do
before do
pipeline_schedule.update_attribute(:ref, nil)
visit_pipelines_schedules
end
it 'shows a list of the pipeline schedules with empty ref column' do
expect(first('.branch-name-cell').text).to eq('')
end
end
end
describe 'POST /projects/pipeline_schedules/new', js: true do
......@@ -109,6 +120,19 @@ feature 'Pipeline Schedules', :feature do
expect(page).to have_content('my brand new description')
end
context 'when ref is nil' do
before do
pipeline_schedule.update_attribute(:ref, nil)
edit_pipeline_schedule
end
it 'shows the pipeline schedule with default ref' do
page.within('.git-revision-dropdown-toggle') do
expect(first('.dropdown-toggle-text').text).to eq('master')
end
end
end
end
def visit_new_pipeline_schedule
......
......@@ -25,6 +25,14 @@ describe Ci::PipelineSchedule, models: true do
expect(pipeline_schedule).not_to be_valid
end
context 'when active is false' do
it 'does not allow nullified ref' do
pipeline_schedule = build(:ci_pipeline_schedule, :inactive, ref: nil)
expect(pipeline_schedule).not_to be_valid
end
end
end
describe '#set_next_run_at' do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment