Array
.toBeArray()
Use .toBeArray when checking if a value is an Array.
test('passes when value is an array', () => { expect([]).toBeArray(); expect([1]).toBeArray(); expect(true).not.toBeArray(); });
Tests
.toBeArrayOfSize()
Use .toBeArrayOfSize when checking if a value is an Array of size x.
test('passes when value is an array', () => { expect([]).toBeArrayOfSize(0); expect([1]).toBeArrayOfSize(1); expect(true).not.toBeArrayOfSize(1); });
Tests
.toIncludeAllMembers([members])
Use .toIncludeAllMembers when checking if an Array contains all of the same members of a given set.
test('passes when given array values match the members of the set', () => { expect([1, 2, 3]).toIncludeAllMembers([2, 1, 3]); expect([1, 2, 2]).toIncludeAllMembers([2, 1]); });
Tests
.toIncludeAllPartialMembers([members])
Use .toIncludeAllPartialMembers when checking if an Array contains all of the same partial members of a given set.
test('passes when given array values match the partial members of the set', () => { expect([{ foo: 'bar', baz: 'qux' }]).toIncludeAllPartialMembers([{ foo: 'bar' }]); });
Tests
.toIncludeAnyMembers([members])
Use .toIncludeAnyMembers when checking if an Array contains any of the members of a given set.
test('passes when given array values match any of the members in the set', () => { expect([1, 2, 3]).toIncludeAnyMembers([2, 1, 3]); expect([1, 2, 2]).toIncludeAnyMembers([2]); expect([1, 2, 2]).not.toIncludeAnyMembers([3]); });
Tests
.toIncludeSameMembers([members], fnOrKey)
Use .toIncludeSameMembers when checking if two arrays contain equal values, in any order.
for better error message use the optional fnOrKey argument to specify how to determine two items similarity (e.g. the id property)
test('passes when arrays match in a different order', () => { expect([1, 2, 3]).toIncludeSameMembers([3, 1, 2]); expect([{ foo: 'bar' }, { baz: 'qux' }]).toIncludeSameMembers([{ baz: 'qux' }, { foo: 'bar' }]); });
Tests
.toPartiallyContain(member)
Use .toPartiallyContain when checking if any array value matches the partial member.
test('passes when a string has a given substring', () => { expect([{ foo: 'bar', baz: 'qux', bax: 'zax' }]).toPartiallyContain({ foo: 'bar' }); expect([{ foo: 'bar', baz: 'qux', bax: 'zax' }]).toPartiallyContain({ baz: 'qux' }); expect([{ foo: 'bar', baz: 'qux', bax: 'zax' }]).not.toPartiallyContain({ foo: 'qux' }); });
Tests
.toSatisfyAll(predicate)
Use .toSatisfyAll when you want to use a custom matcher by supplying a predicate function that returns a Boolean for all values in an array.
test('passes when all values in array pass given predicate', () => { const isOdd = el => el % 2 === 1; expect([1, 3, 5, 7]).toSatisfyAll(isOdd); expect([1, 3, 4, 5, 7]).not.toSatisfyAll(isOdd); });
Tests
.toSatisfyAny(predicate)
Use .toSatisfyAny when you want to use a custom matcher by supplying a predicate function that returns true for any matching value in an array.
test('passes when any value in array pass given predicate', () => { const isOdd = el => el % 2 === 1; expect([2, 3, 6, 8]).toSatisfyAny(isOdd); expect([2, 4, 8, 12]).not.toSatisfyAny(isOdd); });
Tests
.toBeInRange(min, max)
Use .toBeInRange when checking if an array has elements in range min (inclusive) and max (inclusive).
test('passes when given array is in range', () => { expect([4, 5, 7, 9]).toBeInRange(4, 10); expect([12, 13, 15, 17]).not.toBeInRange(4, 9); });
Tests