Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Automated Test Report Changelog Block for React

Six test suites as rows with a segmented outcome bar (solid, hatched, outlined, dotted), counts as words and a popover per suite that lists its flaky tests with retry counts.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

An automated test report for React with Base UI, written for Trialwick, a fictional test-reporting tool. A start-aligned header counts from the data how many tests ran and how many passed ("1,284 tests ran, 99.0% passed"), and a key under it names the four outcomes with the same patterns the bars use: passed is solid, flaky (passed only after a retry) is hatched, failed is an outline and skipped is dotted, so no outcome is told apart by colour. Under a band rule that meets the rails, six suites run rail to rail with hairlines between them. Each row draws one bar sliced by outcome in proportion to the counts, writes the same counts as words and numbers beneath it and, where a suite has flaky tests, ends in a trigger ("3 flaky") that opens a popover listing each test with how many times it was retried. It's built from Guides, Popover and Badge styles, with CSS transitions for the entrance and your theme's tokens for every colour. For release notes and dashboards that report a test run. The figures are example data.

FAQ

How do I change the suites?

Edit SUITES at the top of the file. A suite has its passed, failed and skipped counts and a list of flaky tests (each a name and how many retries it took). The suite's total, the bar's slices, the counts under it, the page total and the pass rate are all computed from those numbers, so the bar, the text and the headline always agree.

What counts as flaky?

A test that failed at first and passed after a retry. It is counted once, as flaky, in the total and in the pass rate (it did pass), and drawn with the hatched pattern. The popover lists each flaky test and how many retries it took.

How are the outcomes told apart without colour?

By pattern and word: solid for passed, hatched for flaky, an outline for failed, dots for skipped, with the same patterns in the key. Each slice also appears as a count in words under the bar, and the bar itself is a labelled image whose text lists the counts.

How does the flaky popover work?

The trigger is a button; Enter or Space opens the list, Escape closes it and focus returns to the trigger. Suites without flaky tests say "No flaky tests" instead of a trigger.

How does it fit on a phone and in a right-to-left layout?

On a phone the flaky trigger sits beside the suite's name and the counts wrap under the bar. Bars are always drawn from the start of the suite in reading order of the key; in a right-to-left layout the rest of the block mirrors while numbers keep their reading order.

What moves, and what happens with reduced motion?

The header and the suites fade up once on load, with CSS transitions, and the popover animates open. With reduced motion they are off.

  • Pro

    Three load test runs on one 0 to 800 ms ruler: a line from p50 to p99 with marks at p50, p95 and p99 and a shared SLO line, beside each run's requests per second, error rate and a Pass or Fail badge.

  • Pro

    Test Coverage Changelog

    Code and commits

    A split with a sparkline of coverage over six releases, the last point a ring and the last segment dashed, beside a table of the latest three releases with progress bars and pass and fail counts.

  • Pro

    A run-by-stage matrix of the last six builds with a result and a time in every cell, a failed run that explains itself, and a stage lens that tints a column.

  • Pro

    Release Blockers Changelog

    Deploys and rollouts

    A verdict header counted from the data with a cleared bar, a toggle group (Open, Cleared, All) and an inset framed table of blockers with owners, states as shapes and words, and the day each was opened.

  • Pro

    A thirty-day error-budget burn-down with release flags you can pick, an incident ring, a table of each release's consumed share and burn rate, and a short list of figures.

  • Pro

    An inset framed table of preview environments: branch, pull request, a state shape and word, the preview URL with a Copy button that announces itself, and age, with a building row and a failed row with its log link.