{
  "status": "Illustrative acceptance plan, not an executable test suite or observed production result",
  "topic": "SaaS dashboard empty states",
  "date": "2026-11-04",
  "sourceArticle": "https://aptixlabs.com/insights/saas-dashboard-empty-state-design",
  "setup": [
    "Use synthetic accounts and records",
    "Record the environment and implementation version",
    "Agree the expected product contract before testing"
  ],
  "reviewSequence": [
    "Define no-data no-access loading and failure independently",
    "Give each state an accurate next action",
    "Test transitions without false zero or stale success displays"
  ],
  "cases": [
    {
      "id": "1",
      "condition": "Request fails after previous data loaded",
      "expectedBehavior": "The state does not imply records were deleted",
      "observedBehavior": null,
      "status": "not_run"
    },
    {
      "id": "2",
      "condition": "User lacks permission",
      "expectedBehavior": "Protected counts are not exposed",
      "observedBehavior": null,
      "status": "not_run"
    },
    {
      "id": "3",
      "condition": "New account has no records",
      "expectedBehavior": "The screen offers the relevant first action",
      "observedBehavior": null,
      "status": "not_run"
    }
  ],
  "tradeoff": "Too many distinct messages can feel inconsistent. Use a small shared state vocabulary while tailoring the primary action to the actual task."
}