Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

expect(...).objectContaining is not a function in Jest

I am using Jest and trying to compare if my body is being formatted into the structure of an object with {cart_id: 'string', payment: 'string', site: 'string'}, but when I do something like this:

 test('paymentRequest should be formatted', () => {
    expect(paymentRequest(paymentBody)).objectContaining({
      cart_id: expect.any(String),
      payment: expect.any(String),
      site: expect.any(String)
    })
  })

I get the error above. I looked at the documentation and not really sure what toBeCalled with does like they have in their example here: https://facebook.github.io/jest/docs/en/expect.html#expectobjectcontainingobject

like image 935
Taylor Austin Avatar asked Dec 10 '22 06:12

Taylor Austin


1 Answers

I just need to add a "compare" function:

 test('paymentRequest should be formatted', () => {
    expect(paymentRequest(paymentBody)).toEqual(
      expect.objectContaining({
        cart_id: expect.any(String),
        payment: expect.any(String),
        site: expect.any(String)
      })
    )
  })

Just kept messing around with it and got this to work.

like image 137
Taylor Austin Avatar answered Jan 01 '23 14:01

Taylor Austin