feat: add participant interview link action

Add a copy button to scheduled interview sessions with confirmation, clipboard error handling, and regression coverage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Daniel Noulet 2026-09-19 22:13:50 +02:00
parent afc8f0d5a7
commit e4fee06e2f
2 changed files with 27 additions and 1 deletions

View file

@ -814,6 +814,7 @@ describe('Go Guess frontend', () => {
it('edits shared documentation and displays notes received over authenticated fetch streaming', async () => {
authenticate()
const user = userEvent.setup()
const writeText = vi.spyOn(navigator.clipboard, 'writeText')
const scheduled = {
id: 80,
jobId: 7,
@ -866,6 +867,11 @@ describe('Go Guess frontend', () => {
})
renderApp('/scheduled-interviews/80')
expect(await screen.findByText('Strong system design answer.')).toBeInTheDocument()
await user.click(screen.getByRole('button', { name: 'Copy participant interview link' }))
expect(writeText).toHaveBeenCalledWith('/participant/meeting/meeting-token')
expect(
screen.getByRole('button', { name: 'Copy participant interview link' }),
).toHaveTextContent('Link copied')
const document = screen.getByLabelText('Shared documentation')
await user.clear(document)
await user.type(document, 'Updated candidate exercise')