- Выкачиваем репозиторий CoursesJava/task-test (github.com)
- Проект должен быть совместим с java 17
- Придерживать GitFlow master -> develop -> feature/{class}
- Покрыть unit tests ВСЕ методы классов:
- В тестах использовать Mock’s, ArgumentCaptor, Parametrised Tests
- Каждый протестированный class = 1 MR (PR), т.е. получится 3 MR (PR) в develop
- Получившиеся 3 (+1 из доп. задания) MR’a (PR) вмёрживаете в develop и делаете общий PR в master, который указываете в форме (пункт 8)
- Заполнить и отправить форму
- Создать ветку develop -> feature/impl
- Реализовать логику всего функционала
- Использовать mapstruct
- Использовать ТОЛЬКО стримы
- Сделать PR в develop (при выполнении дополнительного задания общая сумма MR’ов (PR) будет = 4)
- Product.java - Продукт с идентификатором и датой создания
- ProductDto.java - Минимальный набор данных для создания и модификации продукта
- InfoProductDto.java - Информация о продукте включающая идентификатор
- ProductService.java - Интерфейс для работы с продуктами
- ProductServiceImpl.java - Реализация ProductService.java
- ProductRepository.java - Интерфейс для хранения продуктов
- InMemoryProductRepository.java - Реализация ProductRepository.java
- ProductMapper.java - Интерфейс для маппинга
- ProductMapperImpl.java - Реализация ProductMapper.java
- ProductNotFoundException.java - Исключение выпадающее только на сервисном слое