mirror of
https://github.com/ahmadk953/tasko.git
synced 2025-01-31 09:03:36 +00:00
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import '@testing-library/jest-dom';
|
|
import { render, screen, fireEvent, act } from '@testing-library/react';
|
|
|
|
import { BoardTitleForm } from '@/app/(platform)/(dashboard)/board/[boardId]/_components/board-title-form';
|
|
import { Board } from '@prisma/client';
|
|
|
|
jest.mock('sonner', () => ({
|
|
toast: {
|
|
success: jest.fn(),
|
|
error: jest.fn(),
|
|
},
|
|
}));
|
|
|
|
jest.mock('@/actions/update-board', () => ({
|
|
updateBoard: jest.fn(),
|
|
}));
|
|
|
|
describe('BoardTitleForm', () => {
|
|
const mockBoard: Board = {
|
|
id: '1',
|
|
title: 'Test Board',
|
|
imageId: 'image1',
|
|
imageThumbUrl: 'thumb-url',
|
|
imageFullUrl: 'full-url',
|
|
imageUserName: 'user1',
|
|
imageLinkHTML: 'link-html',
|
|
imageDownloadUrl: 'download-url',
|
|
createdAt: new Date(),
|
|
updatedAt: new Date(),
|
|
orgId: 'org1',
|
|
};
|
|
|
|
it('should render correctly in browser environment', () => {
|
|
render(<BoardTitleForm data={mockBoard} />);
|
|
|
|
const titleButton = screen.getByText('Test Board');
|
|
expect(titleButton).toBeInTheDocument();
|
|
});
|
|
|
|
it('should switch to edit mode when clicked', async () => {
|
|
render(<BoardTitleForm data={mockBoard} />);
|
|
|
|
const titleButton = screen.getByText('Test Board');
|
|
fireEvent.click(titleButton);
|
|
|
|
const input = await screen.findByDisplayValue('Test Board');
|
|
expect(input).toBeInTheDocument();
|
|
});
|
|
});
|