Untitled
unknown
plain_text
a year ago
2.5 kB
6
Indexable
import React from 'react'; import { render, screen, fireEvent } from '@testing-library/react'; import DrinkDetails from './DrinkDetails'; // Teste para verificar se a imagem da bebida é renderizada corretamente. test('renders drink image', () => { const mockDrink = { strDrinkThumb: 'mock-image-url', // Outras propriedades necessárias para o teste }; render(<DrinkDetails API={mockDrink} />); const drinkImage = screen.getByTestId('recipe-photo'); expect(drinkImage).toBeInTheDocument(); expect(drinkImage).toHaveAttribute('src', 'mock-image-url'); }); // Teste para verificar se o botão de compartilhar funciona corretamente. test('share button copies link to clipboard', () => { const mockDrink = { idDrink: 'mock-drink-id', // Outras propriedades necessárias para o teste }; render(<DrinkDetails API={mockDrink} }); const shareButton = screen.getByTestId('share-btn'); // Simule um clique no botão de compartilhar. fireEvent.click(shareButton); // Verifique se a mensagem "Link copied!" é exibida. const linkCopiedMessage = screen.getByText('Link copied!'); expect(linkCopiedMessage).toBeInTheDocument(); }); // Teste para verificar se o botão de favorito funciona corretamente. test('favorite button toggles favorite state', () => { const mockDrink = { idDrink: 'mock-drink-id', strDrink: 'Mock Drink', strCategory: 'Mock Category', strAlcoholic: 'Mock Alcoholic', strDrinkThumb: 'mock-image-url', // Outras propriedades necessárias para o teste }; render(<DrinkDetails API={mockDrink} }); const favoriteButton = screen.getByTestId('favorite-btn'); // Verifique se o ícone de favorito inicialmente é o ícone branco. expect(favoriteButton).toBeInTheDocument(); expect(favoriteButton).toHaveAttribute('src', 'whiteHeartIcon.svg'); // Simule um clique no botão de favorito. fireEvent.click(favoriteButton); // Verifique se o ícone de favorito muda para o ícone preto. expect(favoriteButton).toHaveAttribute('src', 'blackHeartIcon.svg'); }); // Teste para verificar se o título da receita é renderizado corretamente. test('renders recipe title', () => { const mockDrink = { strDrink: 'Mock Drink Title', // Outras propriedades necessárias para o teste }; render(<DrinkDetails API={mockDrink} }); const recipeTitle = screen.getByTestId('recipe-title'); expect(recipeTitle).toBeInTheDocument(); expect(recipeTitle).toHaveTextContent('Mock Drink Title'); });
Editor is loading...