summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/ci/reports/test_suite_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/ci/reports/test_suite_spec.rb')
-rw-r--r--spec/lib/gitlab/ci/reports/test_suite_spec.rb29
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}") }