diff options
Diffstat (limited to 'app/serializers/test_case_entity.rb')
-rw-r--r-- | app/serializers/test_case_entity.rb | 13 |
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 |