diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 07:08:36 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 07:08:36 +0000 |
commit | 48aff82709769b098321c738f3444b9bdaa694c6 (patch) | |
tree | e00c7c43e2d9b603a5a6af576b1685e400410dee /spec/lib/gitlab/ci/reports/test_case_spec.rb | |
parent | 879f5329ee916a948223f8f43d77fba4da6cd028 (diff) | |
download | gitlab-ce-48aff82709769b098321c738f3444b9bdaa694c6.tar.gz |
Add latest changes from gitlab-org/gitlab@13-5-stable-eev13.5.0-rc42
Diffstat (limited to 'spec/lib/gitlab/ci/reports/test_case_spec.rb')
-rw-r--r-- | spec/lib/gitlab/ci/reports/test_case_spec.rb | 55 |
1 files changed, 23 insertions, 32 deletions
diff --git a/spec/lib/gitlab/ci/reports/test_case_spec.rb b/spec/lib/gitlab/ci/reports/test_case_spec.rb index 7fb208213c1..a142846fc18 100644 --- a/spec/lib/gitlab/ci/reports/test_case_spec.rb +++ b/spec/lib/gitlab/ci/reports/test_case_spec.rb @@ -6,39 +6,26 @@ RSpec.describe Gitlab::Ci::Reports::TestCase do describe '#initialize' do let(:test_case) { described_class.new(params) } - context 'when both classname and name are given' do - context 'when test case is passed' do - let(:job) { build(:ci_build) } - let(:params) { attributes_for(:test_case).merge!(job: job) } - - it 'initializes an instance' do - expect { test_case }.not_to raise_error - - expect(test_case.name).to eq('test-1') - expect(test_case.classname).to eq('trace') - expect(test_case.file).to eq('spec/trace_spec.rb') - expect(test_case.execution_time).to eq(1.23) - expect(test_case.status).to eq(described_class::STATUS_SUCCESS) - expect(test_case.system_output).to be_nil - expect(test_case.job).to be_present - end - end + context 'when required params are given' do + let(:job) { build(:ci_build) } + let(:params) { attributes_for(:test_case).merge!(job: job) } - context 'when test case is failed' do - let(:job) { build(:ci_build) } - let(:params) { attributes_for(:test_case, :failed).merge!(job: job) } - - it 'initializes an instance' do - expect { test_case }.not_to raise_error - - expect(test_case.name).to eq('test-1') - expect(test_case.classname).to eq('trace') - expect(test_case.file).to eq('spec/trace_spec.rb') - expect(test_case.execution_time).to eq(1.23) - expect(test_case.status).to eq(described_class::STATUS_FAILED) - expect(test_case.system_output) - .to eq('Failure/Error: is_expected.to eq(300) expected: 300 got: -100') - end + it 'initializes an instance', :aggregate_failures do + expect { test_case }.not_to raise_error + + expect(test_case).to have_attributes( + suite_name: params[:suite_name], + name: params[:name], + classname: params[:classname], + file: params[:file], + execution_time: params[:execution_time], + status: params[:status], + system_output: params[:system_output], + job: params[:job] + ) + + key = "#{test_case.suite_name}_#{test_case.classname}_#{test_case.name}" + expect(test_case.key).to eq(Digest::SHA256.hexdigest(key)) end end @@ -53,6 +40,10 @@ RSpec.describe Gitlab::Ci::Reports::TestCase do end end + context 'when suite_name is missing' do + it_behaves_like 'param is missing', :suite_name + end + context 'when classname is missing' do it_behaves_like 'param is missing', :classname end |