diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-07-18 12:17:49 +0200 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-07-18 12:18:01 +0200 |
commit | 1859a0f9e0c0f8f10ba640a8826b9ccade9fd15f (patch) | |
tree | 0ea0c894e5fa310b8b1f6b85aa617f0cec0d6ea6 | |
parent | 47dfdc732e850fd1390d25d50b1ef7a99491770a (diff) | |
download | gitlab-ce-1859a0f9e0c0f8f10ba640a8826b9ccade9fd15f.tar.gz |
Add summary to test results json
-rw-r--r-- | app/serializers/test_results_comparer_entity.rb | 6 | ||||
-rw-r--r-- | app/serializers/test_suite_comparer_entity.rb | 7 | ||||
-rw-r--r-- | lib/gitlab/ci/reports/test_results_comparer.rb | 8 | ||||
-rw-r--r-- | lib/gitlab/ci/reports/test_suite_comparer.rb | 18 |
4 files changed, 39 insertions, 0 deletions
diff --git a/app/serializers/test_results_comparer_entity.rb b/app/serializers/test_results_comparer_entity.rb index 2e17ecb7ee2..395dc689dda 100644 --- a/app/serializers/test_results_comparer_entity.rb +++ b/app/serializers/test_results_comparer_entity.rb @@ -1,3 +1,9 @@ class TestResultsComparerEntity < Grape::Entity + expose :summary do + expose :total_count, as: :total + expose :resolved_count, as: :resolved + expose :failed_count, as: :failed + end + expose :suites, using: TestSuiteComparerEntity end diff --git a/app/serializers/test_suite_comparer_entity.rb b/app/serializers/test_suite_comparer_entity.rb index af4ef90786d..ed6c2581ce0 100644 --- a/app/serializers/test_suite_comparer_entity.rb +++ b/app/serializers/test_suite_comparer_entity.rb @@ -1,5 +1,12 @@ class TestSuiteComparerEntity < Grape::Entity expose :name + + expose :summary do + expose :total_count, as: :total + expose :resolved_count, as: :resolved + expose :failed_count, as: :failed + end + expose :new_failures, using: TestCaseEntity expose :resolved_failures, using: TestCaseEntity expose :existing_failures, using: TestCaseEntity diff --git a/lib/gitlab/ci/reports/test_results_comparer.rb b/lib/gitlab/ci/reports/test_results_comparer.rb index a60917b30f7..752bb9f9914 100644 --- a/lib/gitlab/ci/reports/test_results_comparer.rb +++ b/lib/gitlab/ci/reports/test_results_comparer.rb @@ -18,6 +18,14 @@ module Gitlab end end end + + %w(total_count resolved_count failed_count).each do |method| + define_method(method) do + strong_memoize(method) do + suites.sum { |suite| suite.public_send(method) } + end + end + end end end end diff --git a/lib/gitlab/ci/reports/test_suite_comparer.rb b/lib/gitlab/ci/reports/test_suite_comparer.rb index fc25b7a57f4..64d29d3a5fe 100644 --- a/lib/gitlab/ci/reports/test_suite_comparer.rb +++ b/lib/gitlab/ci/reports/test_suite_comparer.rb @@ -35,6 +35,24 @@ module Gitlab end.values end end + + def total_count + strong_memoize(:total_count) do + head_suite.total_count + end + end + + def resolved_count + strong_memoize(:resolved_count) do + resolved_failures.count + end + end + + def failed_count + strong_memoize(:failed) do + new_failures.count + existing_failures.count + end + end end end end |