When asserting received / not received calls TypeScript complains if Arg.all() is used.
But for specifying returns() Arg.all() work as expected.
Here is simple test-case that I would expect to pass:
describe('Mocking test', () => {
it('should allow Args', function () {
interface Calculator {
add (a: number, b: number): number
subtract (a: number, b: number): number
divide (a: number, b: number): number
isEnabled: boolean
}
const calculator = Substitute.for<Calculator>()
calculator.add(Arg.all()).returns(3)
expect(calculator.add(1, 1)).to.eq(3)
// Have to use Arg.any() instead of Arg.all()
// calculator.received(1).add(Arg.any(), Arg.any())
calculator.received(1).add(Arg.all()) // <---- TS complains
})
})
When asserting received / not received calls TypeScript complains if
Arg.all()is used.But for specifying
returns()Arg.all()work as expected.Here is simple test-case that I would expect to pass: