formatSummary method

String formatSummary(
  1. EnsembleTestRunResult result, {
  2. String? testFile,
})

Formats a multi-test run report for console output.

Implementation

String formatSummary(
  EnsembleTestRunResult result, {
  String? testFile,
}) {
  final buffer = StringBuffer();
  final totalMs = result.results.fold<int>(0, (sum, r) => sum + r.durationMs);

  buffer.writeln('┌─ Ensemble YAML tests ─────────────────────────────');
  if (testFile != null) {
    buffer.writeln('│  $testFile');
    buffer.writeln('│');
  }

  for (var i = 0; i < result.results.length; i++) {
    final r = result.results[i];
    if (i > 0) buffer.writeln('│');
    _writeTestCase(buffer, r);
  }

  final suiteArtifacts = durableArtifactLogs(result.suiteLogs).toList();
  if (suiteArtifacts.isNotEmpty) {
    buffer.writeln('│');
    buffer.writeln('│  suite artifacts:');
    for (final log in suiteArtifacts) {
      buffer.writeln('│       $log');
    }
  }

  buffer.writeln('│');
  buffer.writeln(
    '└─ ${result.summary} · ${totalMs}ms total',
  );
  return buffer.toString();
}