JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/sinon.js/1.7.3/sinon-min.js"></script>

JavaScript

(function() {
    var object = {
        foo: function() { return this.bar() },
        bar: function() { return "bar" }
    };
    
    var mock = sinon.mock(object);
    console.log(mock.expects("foo").once());
    console.log(object.foo()); 
    console.log(mock.verify());
})();

(function() {
    var object = {
        foo: function(a) { return this.bar() },
        bar: function(a) { return "bar" }
    };

    var mock = sinon.mock(object);
    mock.expects("foo").once().withArgs(10);
    console.log(object.foo(10));
    console.log(mock.verify()); // true
})();