Problem
function shouldAlert(durationInWarehouse, temperature) {
  const CRITICAL_TEMPERATURE = 30; // °C
  const SECONDARY_TEMPERATURE = 25; // °C
  const CRITICAL_DURATION = 7; // Days

  return temperature > CRITICAL_TEMPERATURE 
    && durationInWarehouse > CRITICAL_DURATION 
      || temperature > SECONDARY_TEMPERATURE;
}
Solution
console.log(shouldAlert(5, 26)); // true (should be false)
console.log(shouldAlert(8, 26)); // true
console.log(shouldAlert(8, 32)); // true

In JavaScript, the && operator has higher precedence than the || operator. This means that in a statement with both these operators, the parts with &&`` will be evaluated first. To fix the issue, we need to add parentheses around the ||` part of the statement.

function shouldAlert(durationInWarehouse, temperature) {
  const CRITICAL_TEMPERATURE = 30; // °C
  const SECONDARY_TEMPERATURE = 25; // °C
  const CRITICAL_DURATION = 7; // Days

  return temperature > CRITICAL_TEMPERATURE 
    || (
      durationInWarehouse > CRITICAL_DURATION 
        && temperature > SECONDARY_TEMPERATURE
    );
}

Or you can just avoid ternaries all together and spare your teammates and your future self pain by using a proper if/else statement 🙃.