Лучше всего это заменить location.href
на метод установки, предоставляемый объектом местоположения.
Используйте location.assign(<URL>)
, если вы хотите, чтобы пользователь мог вернуться в историю, илиlocation.replace(<URL>)
, чтобы избежать записи истории браузера.
.assign ()
.replace ()
Теперь выВы можете использовать эти функции в своих тестах.Либо с ручным переопределением, либо с использованием фиктивной библиотеки, такой как sinonjs .
Тест может выглядеть следующим образом:
it('should call correct URL', () => {
const expected = '<URL>';
sinon.stub(location, 'assign');
// other setup if required
showEnrollRoute();
expect(location.assign).toHaveBeenCalledWith(expected);
location.assign.restore();
});