{
  "caseCount": 15,
  "cases": [
    {
      "id": "TKT-QUEUE-001",
      "title": "Load the ticket queue",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Open Ticketing."
      ],
      "expectedResult": "The synthetic queue and ticket total are visible.",
      "priority": "Critical",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-QUEUE-002",
      "title": "Search tickets",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Search for a seeded subject and apply filters."
      ],
      "expectedResult": "Only matching ticket rows remain visible.",
      "priority": "High",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-QUEUE-003",
      "title": "Filter by status",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Choose open status and apply filters."
      ],
      "expectedResult": "Every row shows open.",
      "priority": "High",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-QUEUE-004",
      "title": "Filter by priority",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Choose high priority and apply filters."
      ],
      "expectedResult": "Every row shows high.",
      "priority": "High",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-QUEUE-005",
      "title": "Filter by assignee",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Enter a synthetic assignee ID and apply filters."
      ],
      "expectedResult": "Every row shows the selected synthetic assignee.",
      "priority": "Medium",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-QUEUE-006",
      "title": "Filter by label",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Choose a visible label and apply filters."
      ],
      "expectedResult": "Every row contains the selected label.",
      "priority": "Medium",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-QUEUE-007",
      "title": "Paginate tickets",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Select Next page."
      ],
      "expectedResult": "The page label advances and different rows render.",
      "priority": "High",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-CRUD-001",
      "title": "Create a synthetic ticket",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Fill a valid ticket subject and save."
      ],
      "expectedResult": "A session-scoped ticket appears in the queue.",
      "priority": "Critical",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-CRUD-002",
      "title": "Require a ticket subject",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Leave Subject empty and submit."
      ],
      "expectedResult": "Native validation prevents a mutation.",
      "priority": "Medium",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-CRUD-003",
      "title": "Edit ticket triage fields",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Edit a ticket status, priority, assignee, and labels."
      ],
      "expectedResult": "The row displays every updated value.",
      "priority": "High",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-CRUD-004",
      "title": "Delete a synthetic ticket",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Accept the Delete confirmation."
      ],
      "expectedResult": "The ticket is removed only from this session.",
      "priority": "High",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-HISTORY-001",
      "title": "View deterministic activity",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Select View history from a row."
      ],
      "expectedResult": "A visible ordered history describes the synthetic ticket.",
      "priority": "Medium",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-RESET-001",
      "title": "Reset ticket sandbox",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Mutate a ticket, then reset the sandbox."
      ],
      "expectedResult": "The seed queue returns and session-only changes are removed.",
      "priority": "Critical",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-API-001",
      "title": "Create a ticket through API",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Create a Lab session, retain CSRF, then POST ticket fields and labels."
      ],
      "expectedResult": "The API returns a session-scoped tkt identifier.",
      "priority": "Critical",
      "goodAutomationCandidate": "yes"
    },
    {
      "id": "TKT-API-002",
      "title": "Isolate ticket sessions",
      "route": "/practice/apps/tickets/",
      "preconditions": [
        "Use a fresh Practice Lab session with synthetic seed data."
      ],
      "steps": [
        "Create a ticket in one explicit Lab session and query another."
      ],
      "expectedResult": "The second session cannot observe the first record.",
      "priority": "Critical",
      "goodAutomationCandidate": "yes"
    }
  ]
}
