Трудно сказать, как ваш код будет себя вести, не видя код для вашего LogOutButton
компонента.Но вот пара указателей:
Прежде всего, обратите внимание, что ваш тест имитирует событие 'ckick'
, а не событие click
, как вы, вероятно, подразумевали.
Второй момент заключается в том, что.html
- это функция, поэтому вы должны добавить в нее скобки в своем тесте: .html()
.
Третий момент заключается в том, что вызов homeWrapper.update () кажется избыточным.
И, наконец,самое главное, даже если ваш компонент работает как задумано, результатом нажатия LogOutButton
будет перенаправление страницы на https://www.MICROSOFT.com
.
Даже если перенаправление сработало - что, я думаю, не сработает, поскольку ваш тест не запускается в реальном браузере - нет никаких оснований ожидать, что вызов homeWrapper.html()
вернет URL.Он вернет HTML, который составляет визуализируемый компонент.
В вашем случае вы можете ожидать, что вызов homeWrapper.html () вернет что-то вроде:
<div><h1>Hello world! The result is: 0</h1><input type=\"text\"/>+<input type=\"text\"/>= <br/><button>Add</button><br/><br/><button id=\"x\">LogOut</button></div>
Это, конечно,, не доказывает, что onLogoutClick
работал правильно.Вместо этого вы можете рассмотреть замену onLogoutClick
на Jest Mock в своем тесте, а затем ожидать, что mock был вызван один раз.