[
  {
    "id": "TC001",
    "title": "Login succeeds and redirects to dashboard",
    "description": "Verifies that a user can log in with valid credentials and is redirected to the dashboard.",
    "category": "User Login",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "assertion",
        "description": "Verify the user lands on the dashboard"
      }
    ]
  },
  {
    "id": "TC002",
    "title": "Login fails with invalid credentials",
    "description": "Verifies that invalid credentials show an authentication error and do not log the user in.",
    "category": "User Login",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill invalid-user@example.com into the email field"
      },
      {
        "type": "action",
        "description": "Fill wrong-password into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "assertion",
        "description": "Verify an invalid credentials error is visible"
      },
      {
        "type": "assertion",
        "description": "Verify the user remains on the login screen"
      }
    ]
  },
  {
    "id": "TC003",
    "title": "Dashboard loads primary overview content for authenticated user",
    "description": "Verifies that the dashboard renders its key widgets after login.",
    "category": "Dashboard",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "assertion",
        "description": "Verify KPI cards are displayed"
      },
      {
        "type": "assertion",
        "description": "Verify recent activity is displayed"
      }
    ]
  },
  {
    "id": "TC004",
    "title": "Dashboard activity can open a ticket detail",
    "description": "Verifies that a ticket can be opened from the dashboard activity feed and navigates to a ticket detail view.",
    "category": "Dashboard",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click a ticket item in the activity feed"
      },
      {
        "type": "assertion",
        "description": "Verify the ticket conversation view is displayed"
      },
      {
        "type": "assertion",
        "description": "Verify the ticket sidebar details are displayed"
      }
    ]
  },
  {
    "id": "TC005",
    "title": "Unauthenticated access to dashboard redirects to login",
    "description": "Verifies that visiting the dashboard without authentication redirects to the login screen.",
    "category": "Dashboard",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /"
      },
      {
        "type": "assertion",
        "description": "Verify the user lands on the login screen"
      }
    ]
  },
  {
    "id": "TC006",
    "title": "Ticket list loads and can apply status filter",
    "description": "Verifies that tickets load and filtering by status updates the visible results.",
    "category": "Ticket List",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the link to view all tickets"
      },
      {
        "type": "action",
        "description": "Select a status value in the status filter"
      },
      {
        "type": "assertion",
        "description": "Verify the ticket list is displayed"
      },
      {
        "type": "assertion",
        "description": "Verify the visible tickets reflect the selected status filter"
      }
    ]
  },
  {
    "id": "TC007",
    "title": "Open a ticket from the ticket list",
    "description": "Verifies that selecting a ticket from the list opens its ticket detail view.",
    "category": "Ticket List",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the link to view all tickets"
      },
      {
        "type": "action",
        "description": "Click a ticket row in the ticket list"
      },
      {
        "type": "assertion",
        "description": "Verify the ticket conversation view is displayed"
      }
    ]
  },
  {
    "id": "TC008",
    "title": "Invalid date range filter shows validation or empty results",
    "description": "Verifies that setting an invalid date range in ticket filters results in a validation error or an empty result state.",
    "category": "Ticket List",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the link to view all tickets"
      },
      {
        "type": "action",
        "description": "Select a start date that is after the end date in the date range filter"
      },
      {
        "type": "action",
        "description": "Apply the filters"
      },
      {
        "type": "assertion",
        "description": "Verify a date range validation error is visible or an empty state message is visible"
      }
    ]
  },
  {
    "id": "TC009",
    "title": "Channels page loads and shows channel list with statuses",
    "description": "Verifies an authenticated admin can open the channels page and see channels with connection statuses displayed.",
    "category": "Channels and Channel Settings",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "assertion",
        "description": "Verify the channels list is displayed"
      },
      {
        "type": "assertion",
        "description": "Verify channel connection statuses are displayed"
      }
    ]
  },
  {
    "id": "TC010",
    "title": "Open a channel detail page from channels list",
    "description": "Verifies an authenticated admin can open a channel detail view by selecting a channel from the list.",
    "category": "Channels and Channel Settings",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click a channel to open its detail"
      },
      {
        "type": "assertion",
        "description": "Verify the channel detail view is displayed"
      },
      {
        "type": "assertion",
        "description": "Verify channel onboarding and AI settings controls are displayed"
      }
    ]
  },
  {
    "id": "TC011",
    "title": "Update onboarding and AI options, edit templates, and save successfully",
    "description": "Verifies an authenticated admin can change onboarding/AI toggles and template text, save, and see confirmation that changes persisted.",
    "category": "Channels and Channel Settings",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click a channel to open its detail"
      },
      {
        "type": "action",
        "description": "Toggle an onboarding option"
      },
      {
        "type": "action",
        "description": "Toggle an AI option"
      },
      {
        "type": "action",
        "description": "Fill Channel template A - edited into a template textarea field"
      },
      {
        "type": "action",
        "description": "Fill Channel template B - edited into another template textarea field"
      },
      {
        "type": "action",
        "description": "Save channel settings changes"
      },
      {
        "type": "assertion",
        "description": "Verify a success confirmation is visible"
      },
      {
        "type": "assertion",
        "description": "Verify the edited template text is still present after saving"
      }
    ]
  },
  {
    "id": "TC012",
    "title": "Persisted settings remain after leaving and returning to channel detail",
    "description": "Verifies saved channel settings persist when navigating away and reopening the same channel detail.",
    "category": "Channels and Channel Settings",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click a channel to open its detail"
      },
      {
        "type": "action",
        "description": "Fill Persist check - template into a template textarea field"
      },
      {
        "type": "action",
        "description": "Save channel settings changes"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click the same channel to open its detail"
      },
      {
        "type": "assertion",
        "description": "Verify the template textarea contains the exact text Persist check - template"
      },
      {
        "type": "assertion",
        "description": "Verify the channel detail view is displayed"
      }
    ]
  },
  {
    "id": "TC013",
    "title": "Attempt to save with invalid template input shows validation feedback",
    "description": "Verifies the UI prevents saving or shows a validation error when required template content is cleared.",
    "category": "Channels and Channel Settings",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click a channel to open its detail"
      },
      {
        "type": "action",
        "description": "Fill  into a required template textarea field"
      },
      {
        "type": "action",
        "description": "Save channel settings changes"
      },
      {
        "type": "assertion",
        "description": "Verify a validation error is visible"
      },
      {
        "type": "assertion",
        "description": "Verify the settings are not confirmed as saved"
      }
    ]
  },
  {
    "id": "TC014",
    "title": "Cancel changes by navigating away without saving does not persist edits",
    "description": "Verifies unsaved edits to templates are not persisted after leaving the page and returning.",
    "category": "Channels and Channel Settings",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click a channel to open its detail"
      },
      {
        "type": "action",
        "description": "Fill Unsaved draft template into a template textarea field"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click the same channel to open its detail"
      },
      {
        "type": "assertion",
        "description": "Verify the template textarea does not contain the exact text Unsaved draft template"
      },
      {
        "type": "assertion",
        "description": "Verify the channel detail view is displayed"
      }
    ]
  },
  {
    "id": "TC015",
    "title": "Toggle onboarding option and verify it remains after saving",
    "description": "Verifies toggling an onboarding option and saving persists the toggle state on reload within normal navigation.",
    "category": "Channels and Channel Settings",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click a channel to open its detail"
      },
      {
        "type": "action",
        "description": "Toggle an onboarding option"
      },
      {
        "type": "action",
        "description": "Save channel settings changes"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open channels"
      },
      {
        "type": "action",
        "description": "Click the same channel to open its detail"
      },
      {
        "type": "assertion",
        "description": "Verify the onboarding option remains in the saved state"
      },
      {
        "type": "assertion",
        "description": "Verify a saved configuration is reflected in the controls"
      }
    ]
  },
  {
    "id": "TC016",
    "title": "Settings: Toggle theme and verify persistence after reload",
    "description": "Verifies a user can change theme preference in Settings and that the preference persists after page reload.",
    "category": "Settings",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open user settings"
      },
      {
        "type": "action",
        "description": "Toggle the theme preference"
      },
      {
        "type": "action",
        "description": "Navigate to /settings"
      },
      {
        "type": "assertion",
        "description": "Verify the selected theme preference remains applied after reload"
      }
    ]
  },
  {
    "id": "TC017",
    "title": "Settings: Attempt password change with incorrect current password shows validation error",
    "description": "Verifies the UI prevents password change when the current password is incorrect and shows an error state.",
    "category": "Settings",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open user settings"
      },
      {
        "type": "action",
        "description": "Fill in an incorrect value into the current password field"
      },
      {
        "type": "action",
        "description": "Fill in a valid new password into the new password field"
      },
      {
        "type": "action",
        "description": "Fill in the same valid new password into the confirm new password field"
      },
      {
        "type": "action",
        "description": "Submit the change password form"
      },
      {
        "type": "assertion",
        "description": "Verify a current password validation error is visible"
      }
    ]
  },
  {
    "id": "TC018",
    "title": "Settings: Change password form requires matching confirmation",
    "description": "Verifies the change password form blocks submission when new password and confirmation do not match.",
    "category": "Settings",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open user settings"
      },
      {
        "type": "action",
        "description": "Fill in a value into the current password field"
      },
      {
        "type": "action",
        "description": "Fill in a valid new password into the new password field"
      },
      {
        "type": "action",
        "description": "Fill in a different valid password into the confirm new password field"
      },
      {
        "type": "action",
        "description": "Submit the change password form"
      },
      {
        "type": "assertion",
        "description": "Verify a password confirmation validation error is visible"
      }
    ]
  },
  {
    "id": "TC019",
    "title": "Settings: Theme toggle is reversible within the same session",
    "description": "Verifies toggling theme on and off results in a visible UI change each time.",
    "category": "Settings",
    "priority": "Low",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open user settings"
      },
      {
        "type": "action",
        "description": "Toggle the theme preference"
      },
      {
        "type": "action",
        "description": "Toggle the theme preference again"
      },
      {
        "type": "assertion",
        "description": "Verify the UI theme changes in response to the final selected preference"
      }
    ]
  },
  {
    "id": "TC020",
    "title": "Admin Users: Create a new user with role selection and verify it appears in list",
    "description": "Verifies an admin can create a user account with a selected role and see it listed afterwards.",
    "category": "Admin — User Management",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open admin user management"
      },
      {
        "type": "action",
        "description": "Click the control to create a new user"
      },
      {
        "type": "action",
        "description": "Fill in a unique email into the user email field"
      },
      {
        "type": "action",
        "description": "Fill in a name into the user name field"
      },
      {
        "type": "action",
        "description": "Select a role for the new user"
      },
      {
        "type": "action",
        "description": "Submit the new user form"
      },
      {
        "type": "assertion",
        "description": "Verify the newly created user's email is visible in the users list"
      }
    ]
  },
  {
    "id": "TC021",
    "title": "Admin Users: Users list loads with roles and status",
    "description": "Verifies the admin users page renders a list of users including role and active status information.",
    "category": "Admin — User Management",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open admin user management"
      },
      {
        "type": "assertion",
        "description": "Verify a list of users is displayed with role and account status information"
      }
    ]
  },
  {
    "id": "TC022",
    "title": "Admin Users: Update an existing user's role",
    "description": "Verifies an admin can change a user's role and sees the updated role reflected in the list or user row.",
    "category": "Admin — User Management",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open admin user management"
      },
      {
        "type": "action",
        "description": "Open the details or edit controls for a user in the list"
      },
      {
        "type": "action",
        "description": "Select a different role for the user"
      },
      {
        "type": "action",
        "description": "Save the user changes"
      },
      {
        "type": "assertion",
        "description": "Verify the user's role is updated in the UI"
      }
    ]
  },
  {
    "id": "TC023",
    "title": "Admin Users: Toggle a user's active status",
    "description": "Verifies an admin can change a user's active/disabled status and sees the new status reflected.",
    "category": "Admin — User Management",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open admin user management"
      },
      {
        "type": "action",
        "description": "Open the details or controls for a user in the list"
      },
      {
        "type": "action",
        "description": "Toggle the user's active status"
      },
      {
        "type": "action",
        "description": "Save the user changes"
      },
      {
        "type": "assertion",
        "description": "Verify the user's account status is updated in the UI"
      }
    ]
  },
  {
    "id": "TC024",
    "title": "Admin Users: Non-admin access is blocked or redirected",
    "description": "Verifies a non-admin user cannot access the admin users page and is redirected or shown an access denied state.",
    "category": "Admin — User Management",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with a non-admin user email"
      },
      {
        "type": "action",
        "description": "Fill in the password field with a valid password for the non-admin user"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open admin user management"
      },
      {
        "type": "assertion",
        "description": "Verify access to admin user management is denied or the user is redirected away from the page"
      }
    ]
  },
  {
    "id": "TC025",
    "title": "Admin Audit Logs: Apply actor, action, and date range filters to refine results",
    "description": "Verifies audit log entries can be filtered by actor, action, and date range with results updating accordingly.",
    "category": "Admin — Audit Log Viewer",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open the admin audit logs viewer"
      },
      {
        "type": "action",
        "description": "Select an actor filter value"
      },
      {
        "type": "action",
        "description": "Select an action filter value"
      },
      {
        "type": "action",
        "description": "Select a valid date range in the date range filter"
      },
      {
        "type": "action",
        "description": "Apply the filters"
      },
      {
        "type": "assertion",
        "description": "Verify the audit log results update to reflect the selected filters"
      }
    ]
  },
  {
    "id": "TC026",
    "title": "Admin Audit Logs: Pagination navigates between pages of results",
    "description": "Verifies the audit logs list supports pagination and changes the visible set of entries when navigating pages.",
    "category": "Admin — Audit Log Viewer",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open the admin audit logs viewer"
      },
      {
        "type": "action",
        "description": "Click the control to go to the next page of audit log results"
      },
      {
        "type": "assertion",
        "description": "Verify a different set of audit log entries is displayed after changing pages"
      }
    ]
  },
  {
    "id": "TC027",
    "title": "Admin Audit Logs: Page loads and shows audit log entries list",
    "description": "Verifies the audit log viewer loads its primary content and displays audit log entries.",
    "category": "Admin — Audit Log Viewer",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open the admin audit logs viewer"
      },
      {
        "type": "assertion",
        "description": "Verify a list of audit log entries is displayed"
      }
    ]
  },
  {
    "id": "TC028",
    "title": "Admin Audit Logs: Clear filters restores unfiltered results",
    "description": "Verifies clearing applied filters returns the audit logs to an unfiltered state.",
    "category": "Admin — Audit Log Viewer",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with {{LOGIN_USER}}"
      },
      {
        "type": "action",
        "description": "Fill in the password field with {{LOGIN_PASSWORD}}"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open the admin audit logs viewer"
      },
      {
        "type": "action",
        "description": "Select an actor filter value"
      },
      {
        "type": "action",
        "description": "Apply the filters"
      },
      {
        "type": "action",
        "description": "Clear all filters"
      },
      {
        "type": "assertion",
        "description": "Verify the audit log results return to the default unfiltered state"
      }
    ]
  },
  {
    "id": "TC029",
    "title": "Admin Audit Logs: Non-admin access is blocked or redirected",
    "description": "Verifies a non-admin user cannot access the audit logs viewer and is redirected or shown an access denied state.",
    "category": "Admin — Audit Log Viewer",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill in the email field with a non-admin user email"
      },
      {
        "type": "action",
        "description": "Fill in the password field with a valid password for the non-admin user"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Click the navigation link to open the admin audit logs viewer"
      },
      {
        "type": "assertion",
        "description": "Verify access to the audit logs viewer is denied or the user is redirected away from the page"
      }
    ]
  },
  {
    "id": "TC030",
    "title": "Contact detail opens from list and shows tickets",
    "description": "Staff user opens a contact from the contacts grid and sees contact detail with a ticket list linking to ticket threads.",
    "category": "Contacts",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Navigate to /contacts"
      },
      {
        "type": "action",
        "description": "Click the first visible contact card or link to open contact detail"
      },
      {
        "type": "assertion",
        "description": "Verify the URL matches /contacts/:id and the page shows a Tickets section (or empty state) with links to /tickets/:id when tickets exist"
      }
    ]
  },
  {
    "id": "TC031",
    "title": "Company detail shows linked contacts and tickets column",
    "description": "Staff opens a company and sees linked contacts and a right-hand Tickets panel listing open and closed tickets with navigation to ticket detail.",
    "category": "Companies",
    "priority": "High",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Navigate to /companies"
      },
      {
        "type": "action",
        "description": "Click the first company in the list to open company detail"
      },
      {
        "type": "assertion",
        "description": "Verify Linked contacts (or empty state) and a Tickets column or card are visible; if tickets exist, click one and verify navigation to /tickets/:id"
      }
    ]
  },
  {
    "id": "TC032",
    "title": "Contact detail: link WhatsApp contact to a company",
    "description": "On a non-portal contact, staff selects a company and saves; the UI reflects the association.",
    "category": "Contacts",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Navigate to /contacts and open a contact whose phone does not start with portal:"
      },
      {
        "type": "action",
        "description": "In the Company section, select a company from the dropdown and click Save link"
      },
      {
        "type": "assertion",
        "description": "Verify success feedback or updated state: Open company link appears or company name is shown; Save disabled when unchanged"
      }
    ]
  },
  {
    "id": "TC033",
    "title": "Linked contact from company navigates to contact detail",
    "description": "From company detail, a linked contact name or phone opens /contacts/:id.",
    "category": "Companies",
    "priority": "Medium",
    "steps": [
      {
        "type": "action",
        "description": "Navigate to /login"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_USER}} into the email field"
      },
      {
        "type": "action",
        "description": "Fill {{LOGIN_PASSWORD}} into the password field"
      },
      {
        "type": "action",
        "description": "Submit the login form"
      },
      {
        "type": "action",
        "description": "Navigate to /companies and open a company that has at least one linked contact"
      },
      {
        "type": "action",
        "description": "Under Linked contacts, click the contact link"
      },
      {
        "type": "assertion",
        "description": "Verify navigation to /contacts/:id and contact detail content is shown"
      }
    ]
  }
]
