PracticeQAAutomation logoPracticeQAAutomation

📘 Project KT · Help desk

🎧 DeskFlow

Customer support tickets

Complexity
Intermediate
Screens
4
Scenarios
8
Test cases
15

1Business context

DeskFlow is a customer-support help desk. Customers raise tickets; agents triage a queue, respond within SLA targets set by priority, add internal notes and resolve tickets with a resolution category.

Customers raise tickets (priority set by category); agents work a queue with live SLA countdowns and breach states, bulk-assign, reply with canned responses and formatting, add internal notes, and resolve with a required reason.

2Users & roles

  • 👤 Customer — raises tickets (no login)
  • 👤 Support agent (agent@deskflow.dev / Desk@123) — works the queue

3Modules & screens

ScreenRouteWhat it does
Get help/apps/helpdeskTicket form with category-derived priority
Agent login/apps/helpdesk/agentAgent sign-in
Agent queue/apps/helpdesk/queueFilters, search, bulk assign, live SLA timers
Ticket/apps/helpdesk/t/[id]Replies with formatting, canned responses, internal notes, status

4Main end-to-end journey

Customer ticket to resolution

  1. Raise a Technical ticket as Grace Lee
  2. Log in as agent@deskflow.dev / Desk@123
  3. Open it, assign to me, send a greeting reply and an internal note
  4. Set status Resolved with a resolution

Expected: Ticket #1041 created; SLA stops at first reply; status goes Open → Pending → Resolved

5Business rules & validations

  • Derived priorityBeginner

    Choosing ticket-category shows which priority the ticket will get (Technical → High).

  • Live SLA timersIntermediate

    sla-<id> counts down each second; breached tickets have data-breached="true" and red text.

  • Queue filtersBeginner

    status-filter, priority-filter, owner-filter and queue-search combine; assert queue-count.

  • Bulk assignIntermediate

    select-all-tickets → bulk-assign-me updates every assignee-<id> cell.

  • Toolbar formattingIntermediate

    Select text in reply-text, click format-bold; the sent message renders <strong>.

  • Internal notesIntermediate

    internal-note switch → message has data-internal="true" and doesn't count as a first response.

  • First responseAdvanced

    Sending a public reply stops the SLA timer (“Responded”) and moves Open → Pending.

  • Resolution ruleIntermediate

    Setting ticket-status to Resolved without resolution-category shows ticket-error.

6Test data & credentials

URL
/apps/helpdesk
Agent
agent@deskflow.dev
Password
Desk@123
SLA
Urgent 30m · High 1h · Med 4h · Low 24h

7Glossary

SLA
First-response target: Urgent 30 min, High 1 h, Medium 4 h, Low 24 h
Internal note
Agent-only message not visible to the customer
Resolution category
Required to set a ticket to Resolved

8Watch-outs for automation

  • ⚠️SLA timers count down every second
  • ⚠️The first public reply stops the SLA and moves Open → Pending
  • ⚠️Rich-text bold is applied to selected text

9Suggested test strategy

1 · Smoke

2

P1 positive and end-to-end cases — run on every build.

2 · Regression

15

All cases, incl. 3 negative and 2 edge — run before release.

3 · End-to-end

3

Full user journeys — run nightly.

Start with these smoke cases

  • DESKFLOW-01 — Raise and resolve a ticket
  • DESKFLOW-E2E-01 — Customer ticket to resolution