JavaScriptKatas
JavaScriptKatas copied to clipboard
fix: Small bug in potter Kata
Hi!
After summoning this repo, I've found a small bug in the potter kata.
The problem was that groupBooks
was returning a map with a structure like:
{
"1": 1,
"2": 2,
"3": 1,
...
}
and after decreasing the counter inside removeDiscountedBooks
, we could have
{
"1": 0,
"2": 1,
"3": 0,
...
}
so, when obtaining books[0]
, we could get a 0
instead of a 1
, which calculates a wrong price. Instead of getting 8 * 1 = 8
, we would get 8 * 0 = 0
.
One possible solution would be to remove the entries from the Map where the value is 0
in removeDiscountedBooks
.
I wrote it in this PR. I Hope you find it useful :smiley:
I've added a test that makes the current master branch fail. If you remove the .filter()
in this PR, you will see that the test expects 38 and gets 30.