Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 25 additions & 27 deletions web/app/components/plugins/plugin-item/__tests__/action.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,6 @@ const getDeleteButton = () => screen.getByRole('button', { name: 'plugin.action.

// ==================== Tests ====================

// Helper to find action buttons (real ActionButton component uses type="button")
const getActionButtons = () => screen.getAllByRole('button')
const queryActionButtons = () => screen.queryAllByRole('button')

describe('Action Component', () => {
Expand Down Expand Up @@ -272,7 +270,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())

// Assert
expect(screen.getByRole('heading', { name: 'plugin.action.delete' }))!.toBeInTheDocument()
Expand All @@ -289,7 +287,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())

// Assert
// Assert
Expand All @@ -306,7 +304,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
expect(screen.getByRole('heading', { name: 'plugin.action.delete' }))!.toBeInTheDocument()

fireEvent.click(getDeleteCancelButton())
Expand All @@ -328,7 +326,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

// Assert
Expand All @@ -350,7 +348,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

// Assert
Expand All @@ -370,7 +368,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

// Assert
Expand All @@ -392,7 +390,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

// Assert
Expand All @@ -414,7 +412,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

// Assert
Expand All @@ -441,7 +439,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

// Assert - Loading state
Expand Down Expand Up @@ -474,7 +472,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getPluginInfoButton())

// Assert
// Assert
Expand All @@ -500,7 +498,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getPluginInfoButton())
expect(screen.getByTestId('plugin-info-modal'))!.toBeInTheDocument()

fireEvent.click(screen.getByTestId('close-plugin-info'))
Expand Down Expand Up @@ -559,7 +557,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getCheckForUpdatesButton())

// Assert
await waitFor(() => {
Expand All @@ -585,7 +583,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getCheckForUpdatesButton())

// Assert
await waitFor(() => {
Expand All @@ -604,7 +602,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getCheckForUpdatesButton())

// Assert
await waitFor(() => {
Expand All @@ -628,7 +626,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getCheckForUpdatesButton())

// Assert - toast is called with the translated payload
await waitFor(() => {
Expand Down Expand Up @@ -662,7 +660,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getCheckForUpdatesButton())

// Assert
await waitFor(() => {
Expand Down Expand Up @@ -702,7 +700,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getCheckForUpdatesButton())

// Wait for modal to be called
await waitFor(() => {
Expand Down Expand Up @@ -734,7 +732,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getCheckForUpdatesButton())

// Assert
await waitFor(() => {
Expand Down Expand Up @@ -763,7 +761,7 @@ describe('Action Component', () => {

// Act
const { rerender } = render(<Action {...props1} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

await waitFor(() => {
Expand All @@ -772,7 +770,7 @@ describe('Action Component', () => {

mockUninstallPlugin.mockClear()
rerender(<Action {...props2} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

await waitFor(() => {
Expand Down Expand Up @@ -800,7 +798,7 @@ describe('Action Component', () => {

// Act
const { rerender } = render(<Action {...props1} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

await waitFor(() => {
Expand All @@ -809,7 +807,7 @@ describe('Action Component', () => {
expect(onDelete2).not.toHaveBeenCalled()

rerender(<Action {...props2} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

await waitFor(() => {
Expand Down Expand Up @@ -838,7 +836,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getCheckForUpdatesButton())

// Assert - Should use author and pluginName as fallback
await waitFor(() => {
Expand All @@ -862,7 +860,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())
fireEvent.click(getDeleteConfirmButton())

// The confirm button should be disabled during deletion
Expand All @@ -888,7 +886,7 @@ describe('Action Component', () => {

// Act
render(<Action {...props} />)
fireEvent.click(getActionButtons()[0]!)
fireEvent.click(getDeleteButton())

// Assert
// Assert
Expand Down