Skip to content
Advertisement

How do I stub a chain of methods in Sinon?

I know how to use stub to replace one function.

sandbox.stub(Cars, "findOne",
            () => {return car1 });

But now I have a line in my function I want to test that I need to stub that looks like this

Cars.find().fetch()

So there is a chain of function here and I’m unsure what I need to do. How do I stub “find” to return something that I can use to stub “fetch”?

Advertisement

Answer

Try this:

sandbox.stub(Cars, "find", () => {
    return {
        fetch: sinon.stub().returns(anything);
    };
});
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement