diff options
Diffstat (limited to 'spec/lib/gitlab/ci/reports/test_suite_spec.rb')
-rw-r--r-- | spec/lib/gitlab/ci/reports/test_suite_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/lib/gitlab/ci/reports/test_suite_spec.rb b/spec/lib/gitlab/ci/reports/test_suite_spec.rb index 217713fd899..9d9774afc82 100644 --- a/spec/lib/gitlab/ci/reports/test_suite_spec.rb +++ b/spec/lib/gitlab/ci/reports/test_suite_spec.rb @@ -85,6 +85,35 @@ describe Gitlab::Ci::Reports::TestSuite do end end + describe '#with_attachment' do + subject { test_suite.with_attachment! } + + context 'when test cases do not contain an attachment' do + let(:test_case) { build(:test_case, :failed)} + + before do + test_suite.add_test_case(test_case) + end + + it 'returns an empty hash' do + expect(subject).to be_empty + end + end + + context 'when test cases contain an attachment' do + let(:test_case_with_attachment) { build(:test_case, :with_attachment)} + + before do + test_suite.add_test_case(test_case_with_attachment) + end + + it 'returns failed test cases with attachment' do + expect(subject.count).to eq(1) + expect(subject['failed']).to be_present + end + end + end + Gitlab::Ci::Reports::TestCase::STATUS_TYPES.each do |status_type| describe "##{status_type}" do subject { test_suite.public_send("#{status_type}") } |