Case Detail
Think of each test case as a case file. Its properties sit in one place — template, state, labels, estimate. Inside are the steps and the written detail. The appendices hold linked issues, attachments, comments, execution results, and change history. Everything is editable where it sits: there is no read mode and no edit mode.
Two ways to open a case
Click any row (or press Enter on a focused row) to open the case. There are two surfaces:
| Surface | How it works | Best for |
|---|---|---|
| Side panel | Slides in beside the list, which stays visible so you can move between cases quickly. Shows the title, properties, labels, linked issues, attachments, and two tabs: Steps and Details (← / → switch between them once the tabs have focus). | Triage, quick edits, reading down a folder one case at a time. |
| Full page | A dedicated page at its own URL. Adds the activity feed, comments, past results, and a resizable properties rail. | Writing a case properly, reviewing history, working through comments and past results. |
Click Open full page in the panel header to switch. It is a real link, so ⌘-click or middle-click opens it in a new tab, and the list’s filters and sort travel with you — the Back to test cases button returns you to exactly the view you left.
The side panel is a query parameter, not a page. The URL gains
?caseId=when you open one, so you can share a link that lands someone on the same case with the same list behind it.
Case header
In the side panel the header shows the case number (e.g. C-123), the ✓ Saved receipt as your edits commit, Open full page, a Case actions menu, and a close button.
On the full page the header shows a back button, a breadcrumb trail from the project through All cases and the folder path down to this case — ending in the case reference and its title (e.g. C-123 Expired card is declined), with an overflow … menu when the path is deep. When you opened the case from the list, the crumb also carries an n / N position stepper whose buttons walk that list — the same folder, search, sort and filters you were looking at. Open a case by direct link and there is no list order to walk, so no stepper appears. It is buttons only here: no keyboard shortcut is bound in the editor, where a bare letter key would collide with typing, the state pill, an Add to run button, and the Case actions menu.
There is no Edit button, and no Duplicate action. Every field is edit-in-place, so there is nothing to switch on. Case actions contains exactly one item — Delete case — and appears only if you have permission to delete.
Properties
Four properties are built in, and everything else comes from your template. Click any row to edit it; there is no pencil and no edit mode. An empty value shows as a dash.
| Property | What it shows |
|---|---|
| State | Current workflow state (e.g. Draft, Ready, Approved) with its configured icon and colour. |
| Folder | The folder this case lives in. Changing it here is how you move a single case. |
| Template | The template the case uses, which determines the rest of the properties below. |
| Estimate | Time estimate in human-readable format (e.g. 1h 30m). |
| Your template’s fields | Grouped in their own section named after the template, in the order your administrator defined, each marked with a custom badge. Priority, Severity, Owner and the like live here — they are admin-defined fields, not built-ins, so your workspace has exactly the ones it configured. A field the case’s template does not carry is not listed, even if the case still holds a value for it — see Test Case Templates. |
Labels sit in their own section, and a meta line under the title shows who last touched the case and when.
Long-form text fields are not properties. Description, Preconditions, and any other rich-text field render as prose blocks in the body of the case rather than as rows in the properties list — a paragraph does not belong in a chip.
Template fields
A case renders each field its template defines, according to the field type:
| Field type | How it displays |
|---|---|
| TEXT (rich text) | Formatted HTML with headings, lists, bold, italic, links, and inline images. |
| STRING | Plain text on a single line. |
| INTEGER / FLOAT | Numeric value. |
| DATE | Formatted date string. |
| CHECKBOX | A checked or unchecked indicator. |
| DROPDOWN | The selected option label. |
| MULTI_SELECT | Selected options shown as chips. |
| LINK | A real link, opening in a new tab — the same in the rail as in the Test Cases table. On a row that has a value, clicking the link follows it while the caret beside it opens the editor; an empty row opens the editor wherever you click. See Link fields. |
| STEPS | Numbered step cards displayed vertically with connecting lines. Each card shows whichever subfield columns your administrator configured on the field. |
Steps render as a visual sequence. Each step is displayed as a numbered card, connected by vertical lines to show the flow. This makes it easy to follow the test procedure from start to finish, even for cases with many steps.
Saving
There is no Save button. Titles, properties, and labels apply the moment you change them; prose fields and step cells commit when you move off the field. A ✓ Saved receipt flashes to confirm, and the panel footer states the contract outright: Saves as you leave each field · ⌘Z to undo.
Leaving the case — closing the panel, opening it full page, switching to another case, or closing the tab — commits anything still pending first, so an edit is never lost to navigation. If you pasted an image that is still uploading, the save waits for it rather than storing a broken reference.
Inside a text field, ⌘Z straight after pasting an image takes the image out again, and redo (⌘⇧Z) puts it back — as the uploaded image if the upload finished in the meantime. A failed upload shows Upload failed with Retry and Remove. An image left behind by an upload that never finished shows Upload didn’t finish with Remove, never a spinner with nothing to wait for. That image never reached the server, so it does not hold up the field: your other edits to it save as usual. The image is left out of what they save, so once the field has saved it is gone the next time the case is opened. Remove takes it out straight away. A test run, which shows the case’s steps and text read-only, does not show it at all.
Attachments
Attachments appear on both surfaces — in the rail on the full page, and in the side panel below the properties, outside the Steps/Details tabs so the file count is never hidden on the tab you are not looking at. Both are headed Attachments with a count. Add files with Add file or by dragging them onto the drop area. Inline images embedded in rich text fields are displayed within the field content instead.
Files attached to a custom field are listed in the same place, grouped under the field they belong to, so you can open them without hunting through the Details tab.
Removing an attachment is permanent — there is no undo. The × opens a confirmation dialog naming the file, which opens with Cancel focused; Enter confirms and Esc keeps the file. Once you confirm, the only way back is to upload the file again, and ⌘Z will not return it. If a run already executed this case, that run keeps its own snapshot, but the case does not get the file back.
Linked issues
The Linked issues section appears on both the side panel and the full page, and records what this case covers. Click Link issue to search every tracker the project uses — or paste an issue’s link or key — choose how the issue relates to the case (the Link as chips — Covers by default), and pick it. With two or more trackers, chips under the search narrow it to one tracker. See Linking issues.
Each row shows the issue’s status, title, its key with the tracker’s logo (a link that opens the issue in that tracker), and its relation, which you can change inline — the confirmation has an Undo. A tracker TestOrchestrator can’t read shows No details instead of a status, and never gets an AI insight.
Hover or focus a key for a moment to see its hover card: the issue’s title, who it is assigned to, its status as last read (as of 2h ago), and the link type with when it was linked (Covers · Linked 3 days ago). It shows what is stored, without fetching anything, and opens beside the panel when there is room. Clicking the key opens the issue in its tracker; Esc closes the card first, then the panel.
Unlink with the × on a row. It does not confirm: the row goes at once, and a message with Undo stays for about five seconds before the link is actually removed (or at once if you dismiss the message, close the panel, move to another case, or leave the tab). Undo or ⌘Z in that window brings back the same link — relation, issue details and AI insight included.
Viewing this section needs View external references; linking and unlinking need Manage external references.
After those five seconds the link is gone. Undo is no longer offered; link the issue again from the picker if you need it back.
Activity
The full page ends with an Activity section — the “appendices” of the case file — filtered by four segments: All, Comments, History, and Results.
Comments
A thread of comments on the case, oldest first. Use them for team discussion, review notes, or clarifications without modifying the case itself.
- Add a comment — type in the rich text editor and post. Comments support formatting and pasted images.
- Edit a comment — choose Edit comment from its menu, then Save. Edited comments are badged edited.
- Delete a comment — choose Delete comment from its menu.
Deleting a comment takes effect immediately — there is no confirmation dialog and no undo. Which comments you may edit or delete is decided by the server against your permissions, not simply by whether you wrote them, so a moderator may see the option on someone else’s comment.
Commenting only needs view access. Anyone who can see the case can comment on it — you do not need edit permission to join the discussion.
Results
Execution results from test runs that include this case, newest first. This list is fetched only when you select the Results filter, and it is deliberately kept out of All so an active case’s run history does not drown its discussion. If the case has never been run you will see No run has recorded a result for this case yet. Each result entry displays:
| Column | What it shows |
|---|---|
| Run name | The name of the test run where this case was executed. |
| Status | The execution result (e.g. Passed, Failed, Blocked) with icon and colour. |
| Executed by | The user who recorded the result (with avatar). |
| Environment | The environment — the platform combination — the run was recorded against. |
| Timestamp | When the result was recorded. |
Results are read-only here — they are recorded during test execution. This gives you the case’s complete track record across all runs, and answers “has this test case ever failed, and when?” without leaving the case.
History
An audit trail of changes to the case. Each entry shows who made the change, when, and the field’s value before and after, as old → new chips.
Entries are grouped the way the change actually happened: one save that touched three fields is one entry with three lines under a single avatar, not three separate rows. Consecutive changes by the same person within a couple of minutes are merged for display, keeping the original starting value so the entry reads as one edit rather than a flurry.
History is a record, not a rewind. There is no revert-to-version control — the ⌘Z undo stack covers your current session only. The feed shows up to the 100 most recent entries, and a steps change is summarised by shape (for example 3 steps → 4 steps) rather than printing the whole field.