class Guard::Jest::RunRequest
Attributes
paths[R]
result[R]
Public Class Methods
new(paths = :all)
click to toggle source
# File lib/guard/jest/run_request.rb, line 9 def initialize(paths = :all) @paths = paths @end_time = Time.now @start_time = Time.now @is_complete = Concurrent::AtomicBoolean.new(false) end
Public Instance Methods
all?()
click to toggle source
# File lib/guard/jest/run_request.rb, line 16 def all? :all == paths end
collect_spec_error_messages(specs)
click to toggle source
# File lib/guard/jest/run_request.rb, line 74 def collect_spec_error_messages(specs) specs.select { |s| s['status'] == 'failed' }.map do |s| s['message'] end end
collect_spec_error_titles(specs)
click to toggle source
# File lib/guard/jest/run_request.rb, line 67 def collect_spec_error_titles(specs) specs.select { |s| s['status'] == 'failed' }.map do |s| result = s['assertionResults'].detect { |res| res['status'] == 'failed' } result ? result['title'] : 'Unknown failure' end end
elapsed_seconds()
click to toggle source
# File lib/guard/jest/run_request.rb, line 20 def elapsed_seconds if satisfied? @end_time - @start_time else Time.now - @start_time end end
notify(json)
click to toggle source
# File lib/guard/jest/run_request.rb, line 39 def notify(json) r = json specs = r['numTotalTests'] - r['numPendingTests'] failed = r['numFailedTests'] specs_plural = specs == 1 ? '' : 's' failed_plural = failed == 1 ? '' : 's' Formatter.info("Finished in #{elapsed_seconds} seconds") pending = r['numPendingTests'] > 0 ? " #{r['numPendingTests']} pending," : '' message = "#{specs} spec#{specs_plural}," \ "#{pending} #{failed} failure#{failed_plural}" full_message = "#{message}\nin #{elapsed_seconds} seconds" if failed.zero? Formatter.success(message) Formatter.notify(full_message, title: 'Jest suite passed') else Formatter.error( collect_spec_error_messages(r['testResults']).join("\n") ) error_title = collect_spec_error_titles(r['testResults']).join("\n") Formatter.notify("#{error_title}\n#{full_message}", title: 'Jest test run failed', image: :failed, priority: 2) end end
satisfied?()
click to toggle source
# File lib/guard/jest/run_request.rb, line 28 def satisfied? @is_complete.true? end
satisfy(json)
click to toggle source
# File lib/guard/jest/run_request.rb, line 32 def satisfy(json) @end_time = Time.now @is_complete.make_true @result = json notify(json) end