Imported Gig UAT Journeys
Use these journeys when a change may affect MCP gig extraction, staged import batches, imported gig review, notification dots, or committing imports into real gigs.
Preconditions
- You can sign in to Glovelly.
- At least one client exists that can be matched or selected for imported rows.
- The MCP client or local test harness can call the gig import tools.
- If testing locally, the frontend dev proxy includes
/gig-imports; otherwise the import modal can fail to load behind the Vite shell.
Create A Staged Import Batch
Automation: Backend automated; manual UAT: MCP/staging endpoint rules have backend coverage; creating a batch through a real MCP client or LLM harness remains manual.
Steps
- Use the MCP client to create a gig import batch with a recognisable source name, such as
Swing Into Christmas 2026. - Add at least three draft rows:
- one complete, high-confidence gig with client/contact match, title, date, venue, and fee
- one incomplete gig with a missing client or missing date
- one non-gig row that should be rejected
- Include at least one informal date/time value, such as
Sat 28 Nov 2026or7:30 PM, if using a conversational LLM client.
Expected Results
The MCP call creates a staged batch without creating real gigs. Informal but parseable dates/times are normalised; vague values are left blank for review rather than failing the whole tool call.
Notification And Modal Entry
Automation: Automated UAT:
Glovelly.Uat.Tests.ImportedGigReviewTests.ImportedGigModalAutosavesAndCommitsReviewedRowscovers notification/menu entry using controlled staging setup; real MCP/LLM creation remains manual.
Steps
- Stay signed in after the import batch is created.
- Wait up to 30 seconds, or refresh if testing without the polling path.
- Confirm the profile avatar shows a red notification dot.
- Open the profile menu.
- Confirm
Imported gigs (N)appears with a red dot. - Click
Imported gigs.
Expected Results
The import review modal opens from the profile menu. Imported gigs are not a primary navigation section. The count reflects pending plus accepted staged rows.
Review And Autosave Rows
Automation: Partially automated UAT:
Glovelly.Uat.Tests.ImportedGigReviewTests.ImportedGigModalAutosavesAndCommitsReviewedRowscovers modal autosave persistence; backend tests cover duplicate warning refresh and duplicate warning presentation remains manual.
Steps
- Select the staged batch in the modal.
- Edit a missing or incorrect field, such as client, title, type, date, location, fee, or source reference.
- Wait briefly without clicking a save button.
- Close and reopen the import modal, or select another batch and return.
- Accept at least one valid row.
- Reject at least one non-gig row.
Expected Results
Draft edits autosave. There is no row-level Save button. Accepting or rejecting a row updates the batch counts immediately, but rejected rows do not jump to the bottom before commit.
Duplicate Warning Review
Automation: Backend automated; manual UAT:
Glovelly.Api.Tests.GigImportEndpointsTestscovers duplicate warning rules and non-blocking commit behavior; modal presentation remains manual.
Steps
- Create or identify an existing gig on a known date and venue, such as
2026-12-08atBath Forum. - Stage an import row with the same date and venue.
- Open
Imported gigsand select the staged batch. - Confirm the row shows a possible duplicate warning before commit.
- Edit the row to remove the duplicate signal, such as changing the date or venue, then wait for autosave or reload the batch.
- Change the row back to the duplicate date and venue.
- Accept the row and click
Commit decisions.
Expected Results
Duplicate rows show warning text in the review modal. Editing date, title, client, or venue refreshes the warning after autosave or reload. Duplicate warnings do not disable accepting the row and do not block commit; accepted rows still become real gigs when committed.
Commit Decisions
Automation: Partially automated UAT:
Glovelly.Uat.Tests.ImportedGigReviewTests.ImportedGigModalAutosavesAndCommitsReviewedRowscovers browser accept/reject/commit workflow;Glovelly.Api.Tests.GigImportEndpointsTests.CommitAcceptedRows_CreatesLinkedGigAndMarksDraftCommittedandCommitAcceptedRows_DeletesRejectedDraftsAndKeepsPendingRowscover server rules.
Steps
- With one or more accepted rows and one or more rejected rows, click
Commit decisions. - Open Gigs.
- Find the gig or gigs created from accepted rows.
- Return to the import modal.
- Confirm rejected rows are gone from the batch.
- Confirm any still-pending rows remain available for a later review pass.
Expected Results
Accepted rows become real gigs with source import linkage and the reviewed gig type. Rejected rows are deleted from the import on commit. Pending rows remain staged. Previously rejected rows should not reappear or jump back into the review list on later passes.
Validation And Multi-Pass Review
Automation: Backend automated; manual UAT:
Glovelly.Api.Tests.GigImportEndpointsTests.CommitSelectedRows_WithMissingRequiredFields_ReturnsValidationProblemcovers validation blocking; multi-pass modal workflow remains manual.
Steps
- Accept a row that is still missing a required field, such as client, title, date, or venue.
- Click
Commit decisions. - Fix the validation issue in the row.
- Accept the row again if needed and click
Commit decisions. - Repeat with a second slice of pending rows.
Expected Results
The first commit attempt is blocked with clear validation feedback and creates no gig for the invalid row. After fixing the staged row, commit succeeds. Multi-pass review does not resurrect previously rejected rows, and already committed rows are visually handled and do not need further action.