Сервис быстрых ответов от искусственного интеллекта
Вопрос пользователя:
Ответ нейросети:
import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import ProductList from '../src/components/ProductList'; const products = [ { id: 1, name: 'Product 1' }, { id: 2, name: 'Product 2' }, { id: 3, name: 'Product 3' }, ]; const generateProductText = (product) => `Product ${product.id}: ${product.name}`; test('renders correct number of products with correct text', () => { const { getAllByTestId } = render(<ProductList products={products} onDelete={() => {}} />); const productElements = getAllByTestId('product-item'); expect(productElements.length).toBe(products.length); productElements.forEach((element, index) => { expect(element.textContent).toBe(generateProductText(products[index])); }); }); test('changes font size when slider value is changed', () => { const { getByTestId, getAllByTestId } = render(<ProductList products={products} onDelete={() => {}} />); const slider = getByTestId('font-size-slider'); fireEvent.change(slider, { target: { value: '20' } }); const productElements = getAllByTestId('product-item'); productElements.forEach((element) => { expect(element).toHaveStyle('font-size: 20px'); }); }); test('calls onDelete function when delete button is clicked', () => { const onDelete = jest.fn(); const { getByTestId } = render(<ProductList products={products} onDelete={onDelete} />); const deleteButton = getByTestId('delete-button'); fireEvent.click(deleteButton); expect(onDelete).toHaveBeenCalledTimes(1); expect(onDelete).toHaveBeenCalledWith(products[products.length - 1]); });
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.