# Домашнее задание по модулю "Тестирование в Go" Необходимо покрыть Unit-тестами слой `UseCase` для всех запросов сервиса Cart. Покрыть Unit-тестами репозиторий сервиса Cart (in-memory) ## Основное задание 1. Написаны Unit-тесты слоя `UseCase` для каждого запроса 2. Написаны Unit-тесты слоя `Repository` сервиса Cart 3. Процент покрытия тестируемых слоев должен быть не менее 60% 4. Использовать библиотеку `minimock` для создания моков (библиотека minimock — https://github.com/gojuno/minimock) 5. В `Makefile` создать команду для расчета coverage ## Дополнительное задание 1. Написать два позитивных e2e теста: для хендлеров `DELETE /user//cart/` и `GET /user//cart` 2. Настроить линтер для проверки цикломатической и когнитивной сложности (https://github.com/fzipp/gocyclo и https://github.com/uudashr/gocognit) 3. Написать бенчмарк для `In-memory Storage` сервиса Cart (хотя бы одну операцию — добавление/удаление и т.д.) ## Автоматические проверки Ваше решение должно проходить автоматические проверки: - Компиляция - Линтер - Unit-тесты - Code coverage >40% - Автотесты Прохождение автоматических проверок влияет на итоговую оценку за домашнюю работу. ### Дедлайны сдачи и проверки задания: - 31 мая 23:59 (сдача) / 3 июня, 23:59 (проверка)