Я знаю, с помощью sinon.js вы можете проверить, что шпион вызывали определенное количество раз:
sinon.assert.calledTwice(mySpy.someMethod);
И вы можете проверить, что шпион был вызван с определенными аргументами:
sinon.assert.calledWith(mySpy.someMethod, 1, 2);
Но как их объединить, чтобы проверить, что метод вызывался определенное количество раз с конкретными аргументами? Что-то, теоретически, так:
sinon.assert.calledTwiceWith(mySpy.someMethod, 1, 2);