Stubbing window.location.href com Sinon
Estou tentando testar algum código do lado do cliente e, para isso, preciso stub o valor dewindow.location.href
propriedade usando Mocha / Sinon.
O que eu tentei até agora (usando este exemplo):
describe('Logger', () => {
it('should compose a Log', () => {
var stub = sinon.stub(window.location, 'href', 'http://www.foo.com');
});
});
O corredor exibe o seguinte erro:
TypeError: O stub personalizado deve ser uma função ou um descritor de propriedade
Alterando o código de teste para:
describe('Logger', () => {
it('should compose a Log', () => {
var stub = sinon.stub(window.location, 'href', {
value: 'foo'
});
});
});
O que gera esse erro:
TypeError: Tentativa de quebrar a propriedade da string href como função
Passando uma função como terceiro argumento parasinon.stub
também não funciona.
Existe uma maneira de fornecer um falsowindow.location.href
string, também evitando o redirecionamento (já que estou testando no navegador)?