Commit 9684084f authored by drew cimino's avatar drew cimino

Use subject in Ci::Processable#needs_attributes specs

parent a615b544
...@@ -52,31 +52,33 @@ describe Ci::Processable do ...@@ -52,31 +52,33 @@ describe Ci::Processable do
end end
describe 'validate presence of scheduling_type' do describe 'validate presence of scheduling_type' do
context 'on create' do using RSpec::Parameterized::TableSyntax
using RSpec::Parameterized::TableSyntax
subject { build(:ci_build, project: project, pipeline: pipeline, importing: importing) } subject { build(:ci_build, project: project, pipeline: pipeline, importing: importing) }
where(:importing, :validate_scheduling_type_flag, :should_validate) do where(:importing, :validate_scheduling_type_flag, :should_validate) do
false | true | true false | true | true
false | false | false false | false | false
true | true | false true | true | false
true | false | false true | false | false
end end
with_them do with_them do
before do before do
stub_feature_flags(validate_scheduling_type_of_processables: validate_scheduling_type_flag) stub_feature_flags(validate_scheduling_type_of_processables: validate_scheduling_type_flag)
end end
it 'validates on create' do context 'on create' do
it 'validates presence' do
if should_validate if should_validate
is_expected.to validate_presence_of(:scheduling_type).on(:create) is_expected.to validate_presence_of(:scheduling_type).on(:create)
else else
is_expected.not_to validate_presence_of(:scheduling_type).on(:create) is_expected.not_to validate_presence_of(:scheduling_type).on(:create)
end end
end end
end
context 'on update' do
it { is_expected.not_to validate_presence_of(:scheduling_type).on(:update) } it { is_expected.not_to validate_presence_of(:scheduling_type).on(:update) }
end end
end end
...@@ -110,6 +112,8 @@ describe Ci::Processable do ...@@ -110,6 +112,8 @@ describe Ci::Processable do
describe '#needs_attributes' do describe '#needs_attributes' do
let(:build) { create(:ci_build, :created, project: project, pipeline: pipeline) } let(:build) { create(:ci_build, :created, project: project, pipeline: pipeline) }
subject { build.needs_attributes }
context 'with needs' do context 'with needs' do
before do before do
create(:ci_build_need, build: build, name: 'test1') create(:ci_build_need, build: build, name: 'test1')
...@@ -117,7 +121,7 @@ describe Ci::Processable do ...@@ -117,7 +121,7 @@ describe Ci::Processable do
end end
it 'returns all needs attributes' do it 'returns all needs attributes' do
expect(build.needs_attributes).to contain_exactly( is_expected.to contain_exactly(
{ 'artifacts' => true, 'name' => 'test1' }, { 'artifacts' => true, 'name' => 'test1' },
{ 'artifacts' => true, 'name' => 'test2' } { 'artifacts' => true, 'name' => 'test2' }
) )
...@@ -125,9 +129,7 @@ describe Ci::Processable do ...@@ -125,9 +129,7 @@ describe Ci::Processable do
end end
context 'without needs' do context 'without needs' do
it 'returns all needs attributes' do it { is_expected.to be_empty }
expect(build.needs_attributes).to be_empty
end
end end
end end
......
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