jsdom тест на e.currentTarget.innerText дает undefined как добится того что бы там было значение
Итак, кратко: насколько я понял тестовая среда jsDom не поддерживает innerText.(также возможно много чего другово)
Проблема: я не хочу менять код что бы подстроится под jsDom. (Код то рабочий...)
например:
setText(e.currentTarget.innerHTML);
я хочу что бы jsDom умел работать с innerText(просто не знаю что еще не будет работать в далнейшем...)
//тест
import { render, screen } from "@testing-library/react";
import App from "./App";
import userEvent from "@testing-library/user-event";
test("renders learn react link", async () => {
render(<App />);
const button = screen.getByRole("button");
// v:13
userEvent.click(button);
expect(button).toHaveTextContent("base"); //get undefined
});
//компонент
import { useState } from "react";
function App() {
const [text, setText] = useState("base");
return (
<div>
<button
onClick={(e) => {
setText(e.currentTarget.innerText);
}}
>
{text}
</button>
</div>
);
}
export default App;