Class: QaServer::MonitorStatusPresenter
- Inherits:
-
Object
- Object
- QaServer::MonitorStatusPresenter
- Defined in:
- app/presenters/qa_server/monitor_status_presenter.rb
Overview
rubocop:disable Metrics/ClassLength
Instance Method Summary collapse
-
#authorities_count ⇒ Integer
Number of loaded authorities.
-
#authorities_count_style ⇒ String
Css style class representing whether all tests passed or any failed.
-
#failing_authorities_count ⇒ Integer
Number of authorities with failing tests in the latest test run.
-
#failing_tests_count ⇒ Integer
Number of failing tests in the latest test run.
-
#failing_tests_style ⇒ String
Css style class representing whether all tests passed or any failed.
-
#failures ⇒ Array<Hash>
A list of failures data in the latest test run, if any.
-
#failures? ⇒ Boolean
True if failure data exists for the latest test run; otherwise false.
-
#first_updated ⇒ String
Date of first recorded test run.
- #historical_graph ⇒ Object
-
#historical_summary ⇒ Array<Hash>
Historical test data to be displayed (authname, failing, passing).
-
#history? ⇒ Boolean
True if historical test data exists; otherwise false.
-
#initialize(current_summary:, current_failure_data:, historical_summary_data:, performance_data:) ⇒ MonitorStatusPresenter
constructor
A new instance of MonitorStatusPresenter.
-
#last_updated ⇒ String
Date of last test run.
-
#passing_tests_count ⇒ Integer
Number of passing tests in the latest test run.
-
#status_label(status) ⇒ String
The name of the css style class to use for the status cell based on the status of the scenario test.
-
#status_style_class(status) ⇒ String
The name of the css style class to use for the status cell based on the status of the scenario test.
-
#tests_count ⇒ Integer
Number of tests in the latest test run.
Constructor Details
#initialize(current_summary:, current_failure_data:, historical_summary_data:, performance_data:) ⇒ MonitorStatusPresenter
Returns a new instance of MonitorStatusPresenter.
12 13 14 15 16 17 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 12 def initialize(current_summary:, current_failure_data:, historical_summary_data:, performance_data:) @current_summary = current_summary @current_failure_data = current_failure_data @historical_summary_data = historical_summary_data @performance_data = performance_data end |
Instance Method Details
#authorities_count ⇒ Integer
Returns number of loaded authorities.
30 31 32 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 30 def @current_summary. end |
#authorities_count_style ⇒ String
Returns css style class representing whether all tests passed or any failed.
40 41 42 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 40 def failures? ? 'status-bad' : 'status-good' end |
#failing_authorities_count ⇒ Integer
Returns number of authorities with failing tests in the latest test run.
35 36 37 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 35 def @current_failure_data.map { |f| f[:authority_name] }.uniq.count end |
#failing_tests_count ⇒ Integer
Returns number of failing tests in the latest test run.
55 56 57 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 55 def failing_tests_count @current_summary.failing_scenario_count end |
#failing_tests_style ⇒ String
Returns css style class representing whether all tests passed or any failed.
60 61 62 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 60 def failing_tests_style failures? ? 'status-bad' : 'status-good' end |
#failures ⇒ Array<Hash>
Returns A list of failures data in the latest test run, if any.
74 75 76 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 74 def failures @current_failure_data end |
#failures? ⇒ Boolean
Returns true if failure data exists for the latest test run; otherwise false.
79 80 81 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 79 def failures? failing_tests_count.positive? end |
#first_updated ⇒ String
Returns date of first recorded test run.
25 26 27 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 25 def first_updated QaServer::ScenarioRunRegistry.first.dt_stamp.in_time_zone("Eastern Time (US & Canada)").strftime("%m/%d/%y - %I:%M %p") end |
#historical_graph ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 97 def historical_graph # g = Gruff::SideStackedBar.new('800x400') g = Gruff::SideStackedBar.new graph_theme(g) g.title = '' historical_data = rework_historical_data_for_gruff g.labels = historical_data[0] g.data('Fail', historical_data[1]) g.data('Pass', historical_data[2]) g.write historical_graph_full_path File.join(historical_graph_relative_path, historical_graph_filename) end |
#historical_summary ⇒ Array<Hash>
Returns historical test data to be displayed (authname, failing, passing).
87 88 89 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 87 def historical_summary @historical_summary_data end |
#history? ⇒ Boolean
Returns true if historical test data exists; otherwise false.
92 93 94 95 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 92 def history? return true if @historical_summary_data.present? false end |
#last_updated ⇒ String
Returns date of last test run.
20 21 22 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 20 def last_updated @current_summary.run_dt_stamp.in_time_zone("Eastern Time (US & Canada)").strftime("%m/%d/%y - %I:%M %p") end |
#passing_tests_count ⇒ Integer
Returns number of passing tests in the latest test run.
50 51 52 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 50 def passing_tests_count @current_summary.passing_scenario_count end |
#status_label(status) ⇒ String
Returns the name of the css style class to use for the status cell based on the status of the scenario test.
116 117 118 119 120 121 122 123 124 125 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 116 def status_label(status) case status[:status] when :good QaServer::ScenarioRunHistory::GOOD_MARKER when :bad QaServer::ScenarioRunHistory::BAD_MARKER when :unknown QaServer::ScenarioRunHistory::UNKNOWN_MARKER end end |
#status_style_class(status) ⇒ String
Returns the name of the css style class to use for the status cell based on the status of the scenario test.
111 112 113 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 111 def status_style_class(status) "status-#{status[:status]}" end |
#tests_count ⇒ Integer
Returns number of tests in the latest test run.
45 46 47 |
# File 'app/presenters/qa_server/monitor_status_presenter.rb', line 45 def tests_count @current_summary.total_scenario_count end |