Тестовое задание
Задача: Необходимо реализовать класс/классы для чтения, создания и изменения записей в таблице users, учитывая бизнес-требования.
Решение выполнено в src/UserModule
. Для чтения используется UserRepositoryRead
, для создания и изменения UserRepositoryWrite
.
Для реализации задания был добавлен InMemory
адаптер для хранения данных о пользователях в памяти.
Функциональный тест находится в UserModuleTest
.
Заметки
Очевидно, самая сложная часть данной системы – валидация. В данном решении валидация описана в ValidatorsCollection
, которую применяет UserValidator
.
Для ValidatorsCollection
написан юнит-тест ValidatorsCollectionTest
.
Запуск тестов
composer install
composer test