Не верь, что это возможно. RTL похоже на то, чтобы сосредоточиться на проверке по DOM, а не по дереву компонентов React.
Единственный обходной путь, который я вижу, - это смоделируйте FetchNextPageButton
, чтобы заставить его переводить все реквизиты в атрибуты.
jest.mock("../../../FetchNextPageButton.js", () =>
(props) => <div data-test-id="FetchNextPageButton" {...props} />);
....
const { getByTestId } = render(<YourComponent />);
expect(getByTestId("FetchNextPageButton")).toHaveAttribute("query", NEWS_QUERY);
expect(getByTestId("FetchNextPageButton")).toHaveAttribute("path", "viewer.news");
Конечно,это гладко только для примитивных значений в подпорках, но проверка чего-то вроде объекта или функции будет сложнее.
Думаю, это не RTL-путь, но я согласен, что было бы очень сложно проверить это в объеме каждого контейнера (и полностью игнорировать это было бы довольно рискованно).
PS toHaveAttribute
от jest-dom