Rspec: Check if array includes object which includes property

expect(myArray.find { |item| item[:id] == 5 }).to_not be_nil

or with the legacy should syntax

myArray.find { |item| item[:id] == 5 }.should_not be_nil

Please note that myArray is not following Ruby conventions. Variables use underscore

my_array

not camelcase

myArray

It is also possible using the having_attributes alias:

expect(my_array).to include( an_object_having_attributes(id: 5) )

or, as in my own use case, matching the whole array:

expect(my_array).to contain_exactly(
  an_object_having_attributes(id: 5),
  an_object_having_attributes(id: 6),
  an_object_having_attributes(id: 2)
)