Test Name: Logged-in user can enable multi-file mode
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Description: Verifies that enabling multi-file mode shows the file queue and hides the single-file input area.
This Test Verifies:
| Verification Step | What It Checks |
| When I enable multi-file mode |
The user can switch the Analyze page into multi-file mode |
| Then the file queue is visible |
The file queue appears after enabling multi-file mode |
| And the single-file input area is not visible |
The single-file input is hidden when multi-file mode is active |
Test Name: Switching to multi-file mode clears the single-file input
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Description: Verifies that any content typed in the single-file input is cleared when the user switches to multi-file mode.
This Test Verifies:
| Verification Step | What It Checks |
| Given I have typed content in the input area |
There is existing content in the single-file input before the mode switch |
| When I enable multi-file mode |
The user switches to multi-file mode |
| Then the input area content is cleared |
Previously entered content is removed to prevent stale data carrying over |
Test Name: Switching back to single-file mode clears the queue
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Description: Verifies that disabling multi-file mode hides the queue, removes any queued files, and restores the single-file input area.
This Test Verifies:
| Verification Step | What It Checks |
| When I enable multi-file mode and add a file to the queue |
A file is present in the queue before switching back |
| And I disable multi-file mode |
The user switches back to single-file mode |
| Then the file queue is not visible |
The queue is hidden after returning to single-file mode |
| And the single-file input area is visible |
The single-file input is restored when multi-file mode is turned off |
Test Name: Files can be added and removed from the queue
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Description: Verifies that users can add a file to the queue and then remove it, leaving the queue empty.
This Test Verifies:
| Verification Step | What It Checks |
| And I add fixture "bdd_sample.feature" to the queue |
A file can be added to the multi-file queue |
| Then the queue shows 1 file |
The queue correctly reflects the number of files after adding |
| When I remove "bdd_sample.feature" from the queue |
A file can be removed from the queue |
| Then the queue is empty |
The queue shows no files after the only file is removed |
Test Name: Files can be added to the queue via drag-and-drop
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Description: Verifies that users can drag and drop a file onto the queue, which adds it successfully and displays a confirmation badge.
This Test Verifies:
| Verification Step | What It Checks |
| And I drop fixture "bdd_sample.feature" onto the queue drop zone |
A file can be added to the queue using drag-and-drop |
| Then the queue shows 1 file |
The queue count updates correctly after a drag-and-drop addition |
| And the file row for "bdd_sample.feature" shows an ok badge |
The dropped file is shown with a success indicator confirming it was accepted |
Test Name: Adding a file with a duplicate filename shows a toast and does not add it to the queue
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Description: Verifies that attempting to add a file that is already in the queue triggers a warning message and does not create a duplicate entry.
This Test Verifies:
| Verification Step | What It Checks |
| And I add fixture "bdd_sample.feature" to the queue again |
The user attempts to add the same file a second time |
| Then I see a warning toast containing "is already in the queue" |
A clear warning message is shown to inform the user of the duplicate |
| And the queue shows 1 file |
The duplicate file is not added, keeping the queue count unchanged |
Test Name: Logged-in user can enable multi-file mode
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Execution:
Tag: @requires_login
Journey: A logged-in user enables multi-file mode and verifies that the file queue becomes visible while the single-file input area is hidden.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Logged-in user can enable multi-file mode
|
User is on the Analyze page with APIs mocked
|
User enables multi-file mode
|
File queue is visible and single-file input area is not visible
|
Positive
|
Test Name: Switching to multi-file mode clears the single-file input
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Execution:
Tag: @requires_login
Journey: A logged-in user who has typed content in the single-file input switches to multi-file mode, and the previously entered content is cleared.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Switching to multi-file mode clears the single-file input
|
User has typed content in the input area
|
User enables multi-file mode
|
Input area content is cleared
|
Edge Case
|
Test Name: Switching back to single-file mode clears the queue
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Execution:
Tag: @requires_login
Journey: A logged-in user adds a file to the queue in multi-file mode then switches back to single-file mode, verifying the queue is hidden and the single-file input area is restored.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Switching back to single-file mode clears the queue
|
User is on the Analyze page with APIs mocked
|
User enables multi-file mode, adds a file, then disables multi-file mode
|
File queue is not visible and single-file input area is visible
|
Edge Case
|
Test Name: Files can be added and removed from the queue
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Execution:
Tag: @requires_login
Journey: A logged-in user adds a file to the multi-file queue confirming the count increments, then removes it confirming the queue returns to empty.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Files can be added and removed from the queue
|
User is in multi-file mode with APIs mocked
|
User adds a file then removes it from the queue
|
Queue shows 1 file after adding, then queue is empty after removal
|
Positive
|
Test Name: Files can be added to the queue via drag-and-drop
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Execution:
Tag: @requires_login
Journey: A logged-in user drops a file onto the queue drop zone in multi-file mode and verifies it appears in the queue with an ok badge.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Files can be added to the queue via drag-and-drop
|
User is in multi-file mode with APIs mocked
|
User drops a fixture file onto the queue drop zone
|
Queue shows 1 file and the file row displays an ok badge
|
Positive
|
Test Name: Adding a file with a duplicate filename shows a toast and does not add it to the queue
Feature: Multi-file mode — queue operations
Traceability:
@SHIFT-48
Execution:
Tag: @requires_login
Journey: A logged-in user attempts to add the same file to the queue twice and verifies a warning toast is shown while the queue count remains at one.
| Scenario |
Given Context |
When Action |
Then Assertion |
Gherkin Type |
|
Adding a file with a duplicate filename shows a toast and does not add it to the queue
|
User is in multi-file mode with one file already in the queue
|
User attempts to add the same fixture file a second time
|
A warning toast containing 'is already in the queue' is shown and the queue still shows 1 file
|
Negative
|