class Dotpretty::Reporters::Progress

Attributes

color_palette[RW]
failing_tests[RW]
output[RW]
skipped_test_names[RW]

Public Class Methods

new(color_palette:, output:) click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 5
def initialize(color_palette:, output:)
  self.color_palette = color_palette
  self.extend(color_palette)
  self.failing_tests = []
  self.skipped_test_names = []
  self.output = output
end

Public Instance Methods

build_completed() click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 13
def build_completed
  output.puts("Build completed")
  output.puts("")
end
build_failed(failure_details) click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 28
def build_failed(failure_details)
  output.puts("Build failed")
  failure_details.each do |detail|
    output.puts(detail)
  end
end
build_failed_to_start(raw_input_inlines) click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 18
def build_failed_to_start(raw_input_inlines)
  raw_input_inlines.each do |raw_input_line|
    output.puts(raw_input_line)
  end
end
build_started() click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 24
def build_started
  output.puts("Build started")
end
show_test_summary(summary) click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 35
def show_test_summary(summary)
  output.puts("")
  output.puts("")
  show_skipped_summary if !skipped_test_names.empty?
  show_failure_summary if !failing_tests.empty?
  output.puts(formatted_test_summary(summary))
end
starting_tests() click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 43
def starting_tests
  output.puts("Starting test execution")
end
test_failed(name:, details:) click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 47
def test_failed(name:, details:)
  failing_tests << {
    details: details,
    name: name
  }
  output.print(red("F"))
end
test_passed(name:) click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 55
def test_passed(name:)
  output.print(green("."))
end
test_skipped(name:) click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 59
def test_skipped(name:)
  skipped_test_names << name
  output.print(yellow("*"))
end

Private Instance Methods

formatted_test_summary(summary) click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 66
def formatted_test_summary(summary)
  return Dotpretty::Reporters::TestSummaryFormatter.new({
    color_palette: color_palette,
    summary: summary
  }).colored_message
end
show_failure_summary() click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 73
def show_failure_summary
  output.puts("Failures:")
  output.puts("")
  failing_tests.each_with_index do |failing_test, index|
    output.puts(red("  #{index + 1}) #{failing_test[:name]}"))
    output.puts("")
    failing_test[:details].each do |detail|
      output.puts("      #{detail}")
    end
    output.puts("")
  end
  output.puts("")
end
show_skipped_summary() click to toggle source
# File lib/dotpretty/reporters/progress.rb, line 87
def show_skipped_summary
  output.puts("Skipped:")
  output.puts("")
  skipped_test_names.each_with_index do |test_name, index|
    output.puts(yellow("  #{index + 1}) #{test_name}"))
  end
  output.puts("")
end