diff --git a/src/test/proposal-essential.test.tsx b/src/test/proposal-essential.test.tsx index 0f25629..802c9f2 100644 --- a/src/test/proposal-essential.test.tsx +++ b/src/test/proposal-essential.test.tsx @@ -356,25 +356,19 @@ describe('ProposalDetailPage', () => { it('opens accept modal with milestone selector', async () => { render() - await waitFor(() => { - expect(screen.getByText('Accept')).toBeInTheDocument() - }) - - await userEvent.click(screen.getByText('Accept')) + const acceptButton = await screen.findByRole('button', { name: /accept/i }) + await userEvent.click(acceptButton) expect(screen.getByRole('heading', { name: 'Accept Proposal' })).toBeInTheDocument() - expect(screen.getByText(/Select an.*open.*milestone/i)).toBeInTheDocument() + expect(screen.getByText(/milestone to generate story tasks/i)).toBeInTheDocument() expect(screen.getByRole('combobox')).toBeInTheDocument() }) it('disables confirm button without milestone selection', async () => { render() - await waitFor(() => { - expect(screen.getByText('Accept')).toBeInTheDocument() - }) - - await userEvent.click(screen.getByText('Accept')) + const acceptButton = await screen.findByRole('button', { name: /accept/i }) + await userEvent.click(acceptButton) const confirmButton = screen.getByRole('button', { name: 'Confirm Accept' }) expect(confirmButton).toBeDisabled() @@ -383,11 +377,8 @@ describe('ProposalDetailPage', () => { it('enables confirm button after milestone selection', async () => { render() - await waitFor(() => { - expect(screen.getByText('Accept')).toBeInTheDocument() - }) - - await userEvent.click(screen.getByText('Accept')) + const acceptButton = await screen.findByRole('button', { name: /accept/i }) + await userEvent.click(acceptButton) const select = screen.getByRole('combobox') fireEvent.change(select, { target: { value: '1' } }) @@ -399,11 +390,8 @@ describe('ProposalDetailPage', () => { it('calls accept API with selected milestone', async () => { render() - await waitFor(() => { - expect(screen.getByText('Accept')).toBeInTheDocument() - }) - - await userEvent.click(screen.getByText('Accept')) + const acceptButton = await screen.findByRole('button', { name: /accept/i }) + await userEvent.click(acceptButton) const select = screen.getByRole('combobox') fireEvent.change(select, { target: { value: '1' } }) @@ -422,11 +410,8 @@ describe('ProposalDetailPage', () => { setupApi({ milestones: [] }) render() - await waitFor(() => { - expect(screen.getByText('Accept')).toBeInTheDocument() - }) - - await userEvent.click(screen.getByText('Accept')) + const acceptButton = await screen.findByRole('button', { name: /accept/i }) + await userEvent.click(acceptButton) expect(screen.getByText('No open milestones available.')).toBeInTheDocument() }) @@ -466,10 +451,7 @@ describe('ProposalDetailPage', () => { render() - await waitFor(() => { - expect(screen.getByText('accepted')).toBeInTheDocument() - }) - + await screen.findByText('Feature Essential') expect(screen.queryByText('+ New Essential')).not.toBeInTheDocument() }) @@ -487,11 +469,7 @@ describe('ProposalDetailPage', () => { expect(screen.getByText('Feature Essential')).toBeInTheDocument() }) - // Edit and Delete buttons should not be visible - const editButtons = screen.queryAllByRole('button', { name: 'Edit' }) const deleteButtons = screen.queryAllByRole('button', { name: 'Delete' }) - - // Only the main proposal Edit button might exist, but not essential edit buttons expect(deleteButtons.length).toBe(0) }) @@ -505,10 +483,7 @@ describe('ProposalDetailPage', () => { render() - await waitFor(() => { - expect(screen.getByText('rejected')).toBeInTheDocument() - }) - + await screen.findByRole('button', { name: /reopen/i }) expect(screen.queryByText('+ New Essential')).not.toBeInTheDocument() }) }) @@ -537,11 +512,8 @@ describe('ProposalDetailPage', () => { render() - await waitFor(() => { - expect(screen.getByText('Accept')).toBeInTheDocument() - }) - - await userEvent.click(screen.getByText('Accept')) + const acceptButton = await screen.findByRole('button', { name: /accept/i }) + await userEvent.click(acceptButton) fireEvent.change(screen.getByRole('combobox'), { target: { value: '1' } }) await userEvent.click(screen.getByRole('button', { name: 'Confirm Accept' }))