Pin the system dashboard tiling in the loader spec

What does this MR do and why?

Follow-up from !254441 (comment 3820285012). Adds a spec to system_dashboards_loader_spec.rb that walks every view (or the top-level panels) of every shipped system dashboard and asserts no two panels occupy the same grid cell, so a future row trim cannot quietly leave two panels overlapping. The failure message names the dashboard, panel, row and column.

I checked the assertion against both shipped dashboards (dap_impact, duo_and_sdlc_trends) before adding it; both tile cleanly today.

References

Differences

Before: Two panels with overlapping gridAttributes in a system dashboard YAML pass CI.

After: The loader spec fails and points at the overlapping panel.

How to set up and validate locally

  1. Run bundle exec rspec ee/spec/services/analytics/custom_dashboards/system_dashboards_loader_spec.rb.
  2. Temporarily change a panel's yPos in ee/lib/gitlab/analytics/dashboards/system/dap_impact.yaml to collide with its neighbour; the new example fails.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Jeston Singh

Merge request reports

Loading
Loading