| ... | @@ -16,23 +16,44 @@ describe ProjectAPICompatibility do |
... | @@ -16,23 +16,44 @@ describe ProjectAPICompatibility do |
|
|
expect(project.build_allow_git_fetch).to eq(false)
|
|
expect(project.build_allow_git_fetch).to eq(false)
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
# auto_devops_enabled
|
|
describe '#auto_devops_enabled' do
|
|
|
it "converts auto_devops_enabled=false to auto_devops_enabled?=false" do
|
|
where(
|
|
|
expect(project.auto_devops_enabled?).to eq(true)
|
|
initial: [:missing, nil, false, true],
|
|
|
project.update!(auto_devops_enabled: false)
|
|
final: [nil, false, true]
|
|
|
expect(project.auto_devops_enabled?).to eq(false)
|
|
)
|
|
|
|
|
|
|
|
with_them do
|
|
|
|
before do
|
|
|
|
project.build_auto_devops(enabled: initial) unless initial == :missing
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
it "converts auto_devops_enabled=true to auto_devops_enabled?=true" do
|
|
# Implicit auto devops when enabled is nil
|
|
|
expect(project.auto_devops_enabled?).to eq(true)
|
|
let(:expected) { final.nil? ? true : final }
|
|
|
project.update!(auto_devops_enabled: true)
|
|
|
|
|
expect(project.auto_devops_enabled?).to eq(true)
|
|
it 'sets the correct value' do
|
|
|
|
project.update!(auto_devops_enabled: final)
|
|
|
|
|
|
|
|
expect(project.auto_devops_enabled?).to eq(expected)
|
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe '#auto_devops_deploy_strategy' do
|
|
|
|
where(
|
|
|
|
initial: [:missing, *ProjectAutoDevops.deploy_strategies.keys],
|
|
|
|
final: ProjectAutoDevops.deploy_strategies.keys
|
|
|
|
)
|
|
|
|
|
|
|
|
# auto_devops_deploy_strategy
|
|
with_them do
|
|
|
it "converts auto_devops_deploy_strategy=timed_incremental to auto_devops.deploy_strategy=timed_incremental" do
|
|
before do
|
|
|
expect(project.auto_devops).to be_nil
|
|
project.build_auto_devops(deploy_strategy: initial) unless initial == :missing
|
|
|
project.update!(auto_devops_deploy_strategy: 'timed_incremental')
|
|
end
|
|
|
expect(project.auto_devops.deploy_strategy).to eq('timed_incremental')
|
|
|
|
|
|
it 'sets the correct value' do
|
|
|
|
project.update!(auto_devops_deploy_strategy: final)
|
|
|
|
|
|
|
|
expect(project.auto_devops.deploy_strategy).to eq(final)
|
|
|
|
end
|
|
|
|
end
|
|
|
end
|
|
end
|
|
|
end |
|
end |