class HtmlTestScriptHook

Public Instance Methods

command_line(filename) click to toggle source
# File lib/test_script_hook.rb, line 16
def command_line(filename)
  "run-dom-tests #{filename}"
end
compile(request) click to toggle source
Calls superclass method
# File lib/test_script_hook.rb, line 4
def compile(request)
  return request if script_test(request).blank?

  struct request.to_h.merge file: super(request)
end
compile_file_content(request) click to toggle source
# File lib/test_script_hook.rb, line 20
def compile_file_content(request)
  JSON.generate html: request.content,
                tests: script_test(request)
end
post_process_file(_file, result, status) click to toggle source
# File lib/test_script_hook.rb, line 25
def post_process_file(_file, result, status)
  report = JSON.parse(result)
  test_results = generate_test_results report

  [test_results, :passed]
rescue
  [result, :errored]
end
run!(request) click to toggle source
Calls superclass method
# File lib/test_script_hook.rb, line 10
def run!(request)
  return nil if script_test(request).blank?

  super request.file
end

Private Instance Methods

create_error_tag(message) click to toggle source
# File lib/test_script_hook.rb, line 50
def create_error_tag(message)
  return '' if message.blank?

  "<pre>#{message}</pre>"
end
generate_test_results(report) click to toggle source
# File lib/test_script_hook.rb, line 36
def generate_test_results(report)
  report['tests'].map { |it|
    [
      it['fullTitle'],
      it['err'].blank? ? :passed : :failed,
      create_error_tag(it['err']&.dig('message'))
    ]
  }
end
script_test(request) click to toggle source
# File lib/test_script_hook.rb, line 46
def script_test(request)
  request.test.is_a?(Hash) ? request.test['tests'] : nil
end