.toBeFalsy()

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

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

You may not care what getErrors returns, specifically - it might return false, null, or 0, and your code would still work. So if you want to test there are no errors after drinking some La Croix, you could write:

  1. test('drinking La Croix does not lead to errors', () => {
  2. drinkSomeLaCroix();
  3. expect(getErrors()).toBeFalsy();
  4. });

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