diff --git a/src/components/preview/UniversalPreviewPanel.tsx b/src/components/preview/UniversalPreviewPanel.tsx index 511e1b727..984ba15f7 100644 --- a/src/components/preview/UniversalPreviewPanel.tsx +++ b/src/components/preview/UniversalPreviewPanel.tsx @@ -286,11 +286,25 @@ export function UniversalPreviewPanel({ )} {/* Zoom controls */} - {zoom}% - @@ -306,11 +320,20 @@ export function UniversalPreviewPanel({ className="h-8 w-8" onClick={handleSave} disabled={isSaving || !hasChanges} + aria-label="Salvar alterações" + title="Salvar alterações" > ) : ( - )} @@ -318,21 +341,49 @@ export function UniversalPreviewPanel({ )} {onRefresh && ( - )} - - {onClose && ( - )} diff --git a/src/tests/components/UniversalPreviewPanel.test.tsx b/src/tests/components/UniversalPreviewPanel.test.tsx new file mode 100644 index 000000000..0fdb7fac7 --- /dev/null +++ b/src/tests/components/UniversalPreviewPanel.test.tsx @@ -0,0 +1,38 @@ +import { render, screen } from '@testing-library/react'; +import { describe, it, expect, vi } from 'vitest'; +import UniversalPreviewPanel from '@/components/preview/UniversalPreviewPanel'; + +describe('UniversalPreviewPanel', () => { + const mockFile = { + id: '1', + name: 'test.txt', + url: 'http://example.com/test.txt', + format: 'text' as const, + content: 'Hello World', + size: 1024, + }; + + it('renders correctly and has accessible buttons', () => { + render( + + ); + + // Check if filename is displayed + expect(screen.getByText('test.txt')).toBeInTheDocument(); + + // Verify accessible buttons + expect(screen.getByRole('button', { name: /Diminuir zoom/i })).toBeInTheDocument(); + expect(screen.getByRole('button', { name: /Aumentar zoom/i })).toBeInTheDocument(); + // Edit button should be visible since enableEdit=true and format is text (editable) + expect(screen.getByRole('button', { name: /Editar arquivo/i })).toBeInTheDocument(); + expect(screen.getByRole('button', { name: /Atualizar/i })).toBeInTheDocument(); + expect(screen.getByRole('button', { name: /Baixar arquivo/i })).toBeInTheDocument(); + expect(screen.getByRole('button', { name: /Tela cheia/i })).toBeInTheDocument(); + expect(screen.getByRole('button', { name: /Fechar preview/i })).toBeInTheDocument(); + }); +});