У вас есть UseCase от проектировщика который показывает как ожидается работа с системой магазина.
Вот он - https://gist.github.com/HolyMonkey/0ea27f88a1ce55d514588ab013c91076
Необходимо реализовать функционал в соответствии с комментариями в коде. Код должен запускаться.
Paylink - просто какая-нибудь случайная строка.
Я его сдал с первого раза на удивление. Вот такое решение:
https://gist.github.com/NoNameDeleted/4396ac4cdc51c095a99e1c881e1f54ad
И вот комментарии ментора:
1) Cart.Add - если в тележку запрашивается добавление товара, следует проверять наличие товара с учётом того что уже находится в тележке чтобы проверка не позволяла положить в корзину ещё 10 товаров, когда в ней уже таких товаров записано 9, а на складе всего 11
2) Cart.Add, Reserve - вместо символа ! нужно использовать сравнение, например (canFly == false) или (canFly != true). Так повышается читаемость кода