Middle
30
Убедись, что компонент UserName отображает новое имя пользователя после успешного сабмита формы.
Сұралған компаниялар
Mayflower
AI-дан жауап
sobes.tech AI
Чтобы убедиться, что компонент UserName отображает новое имя пользователя после успешного сабмита формы, нужно проверить, что состояние компонента обновляется корректно и UI перерисовывается с новым значением.
Пример на React:
function UserName() {
const [name, setName] = React.useState('');
const handleSubmit = (e) => {
e.preventDefault();
const newName = e.target.elements.username.value;
// имитация успешного сабмита, например, запрос к API
setName(newName);
};
return (
<div>
<form onSubmit={handleSubmit}>
<input name="username" type="text" />
<button type="submit">Сохранить</button>
</form>
<p>Имя пользователя: {name}</p>
</div>
);
}
Для тестирования можно использовать React Testing Library, проверяя, что после сабмита в DOM появляется новое имя:
import { render, screen, fireEvent } from '@testing-library/react';
import UserName from './UserName';
test('отображает новое имя после сабмита', () => {
render(<UserName />);
const input = screen.getByRole('textbox', { name: /username/i });
const button = screen.getByRole('button', { name: /сохранить/i });
fireEvent.change(input, { target: { value: 'Иван' } });
fireEvent.click(button);
expect(screen.getByText(/Имя пользователя: Иван/)).toBeInTheDocument();
});
Таким образом, проверяется, что после успешного сабмита состояние обновляется и компонент отображает новое имя.