У меня есть случай, когда мой код использует URL API, созданный так:
const _url = new URL(window.location.href);
и используется так:
if (_url.searchParams.get('locale')) {
do something
}
Однако в моих шутливых тестах я получаю сообщение об ошибке:
TypeError: Cannot read property 'get' of undefined
Я пытался глобально насмехаться, делая это в моем установочном файле:
global.URL = jest.fn(() => {
return {
searchParams: jest.fn(() => {
return {
get: jest.fn(() => {
return '';
}),
};
}),
};
});
Но это не не похоже на работу. Глядя на записанный в консоль вывод моего _url
объекта, кажется, что все вместе отсутствует свойство searchParam:
URL {
[Symbol(impl)]: URLImpl {
_url: {
scheme: 'http',
username: '',
password: '',
host: 'localhost',
port: null,
path: [Array],
query: null,
fragment: null,
cannotBeABaseURL: false
},
[Symbol(wrapper)]: [Circular]
}
}
Что я здесь не так делаю?