Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the type errors pattern
Totals that concatenate, sorts that put 10 before 9, comparisons that refuse to run.
What went wrong: Number.isInteger() does not perform type coercion; if the argument is a string, it immediately returns false.
The fix: Convert the input with Number() before checking integer status: const num = Number(qty); return Number.isInteger(num) && num > 0
Remember: In JavaScript, Number.isInteger() returns false for all non-number types without coercing.
The pattern behind it: type errors.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/56764522-230b-4e32-83b7-8b085c0c7cc0" title="Debugging challenge: Checking if order quantity is integer fails on string numbers" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/56764522-230b-4e32-83b7-8b085c0c7cc0">TryBugHunt</a></p>