.toBeTruthy()

Use .toBeTruthy when you don't care what a value is, you just want to ensure a value is true in a boolean context. For example, let's say you have some application code that looks like:

  1. drinkSomeLaCroix();
  2. if (thirstInfo()) {
  3. drinkMoreLaCroix();
  4. }

You may not care what thirstInfo returns, specifically - it might return true or a complex object, and your code would still work. So if you just want to test that thirstInfo will be truthy after drinking some La Croix, you could write:

  1. test('drinking La Croix leads to having thirst info', () => {
  2. drinkSomeLaCroix();
  3. expect(thirstInfo()).toBeTruthy();
  4. });

In JavaScript, there are six falsy values: false, 0, '', null, undefined, and NaN. Everything else is truthy.