summaryrefslogtreecommitdiff
path: root/app/serializers/test_case_entity.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/serializers/test_case_entity.rb')
-rw-r--r--app/serializers/test_case_entity.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/serializers/test_case_entity.rb b/app/serializers/test_case_entity.rb
index 5c915c1302c..d2e08590ef0 100644
--- a/app/serializers/test_case_entity.rb
+++ b/app/serializers/test_case_entity.rb
@@ -1,10 +1,23 @@
# frozen_string_literal: true
class TestCaseEntity < Grape::Entity
+ include API::Helpers::RelatedResourcesHelpers
+
expose :status
expose :name
expose :classname
expose :execution_time
expose :system_output
expose :stack_trace
+ expose :attachment_url, if: -> (*) { can_read_screenshots? } do |test_case|
+ expose_url(test_case.attachment_url)
+ end
+
+ private
+
+ alias_method :test_case, :object
+
+ def can_read_screenshots?
+ Feature.enabled?(:junit_pipeline_screenshots_view, options[:project]) && test_case.has_attachment?
+ end
end