Skip to content

Recieved functions does not allow Arg.all() #83

Description

@AuHau

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 
  })
})

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions