Reputation: 2032
I'm trying to stub the get method of an object with properties,
Works fine:
sinon.stub(input.model, 'get');
input.model.get.returns(10);
but consider if we need to stub some specific property in the object,
eg:
input.model.get('yourValue')
↪ how this can be stubbed? Any idea?
Upvotes: 12
Views: 8762
Reputation: 468
stub.withArgs() should do what you want. See http://sinonjs.org/docs/#stubs.
sinon.stub(input.model, 'get').withArgs('yourValue').returns(10);
Sinon has since changed this syntax:
class Foo {
get bar() {
return 'yolo';
}
}
const myObj = new Foo();
sinon.stub(myObj, 'bar').get(() => 'swaggins');
myObj.bar; // 'swaggins'
Upvotes: 20