feat(tests): dispute resolution UI — manager escalation + red/blue queue selector
Aegis CI / lint-and-test (push) Has been cancelled
Snyk Security Scan / Python vulnerabilities (backend) (push) Has been cancelled
Snyk Security Scan / npm vulnerabilities (frontend) (push) Has been cancelled
Snyk Security Scan / Docker image vulnerabilities (backend) (push) Has been cancelled
Aegis CI / lint-and-test (push) Has been cancelled
Snyk Security Scan / Python vulnerabilities (backend) (push) Has been cancelled
Snyk Security Scan / npm vulnerabilities (frontend) (push) Has been cancelled
Snyk Security Scan / Docker image vulnerabilities (backend) (push) Has been cancelled
This commit is contained in:
@@ -248,6 +248,19 @@ export async function validateAsBlueLead(
|
||||
return data;
|
||||
}
|
||||
|
||||
// ── Dispute resolution ───────────────────────────────────────────────
|
||||
|
||||
export interface ResolveDisputePayload {
|
||||
target_team: "red" | "blue";
|
||||
notes?: string;
|
||||
}
|
||||
|
||||
/** The approving lead flips to reject, choosing which team must redo the work. */
|
||||
export async function resolveDispute(testId: string, payload: ResolveDisputePayload): Promise<Test> {
|
||||
const { data } = await client.post<Test>(`/tests/${testId}/resolve-dispute`, payload);
|
||||
return data;
|
||||
}
|
||||
|
||||
// ── Reopen ─────────────────────────────────────────────────────────
|
||||
|
||||
/** Reopen a rejected test — moves back to draft. */
|
||||
|
||||
Reference in New Issue
Block a user