у меня есть такой сервис: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/bot/engine/DialogEngine.scala. Он зависит от Transactor[F] и UserRepository: https://github.com/johnspade/s10ns_bot/blob/master/src/main/scala/ru/johnspade/s10ns/user/UserRepository.scala Для репозитория написал in-memory имплементацию.
Что теперь делать с транзактором и методом transact? Предположим, Transactor можно замокировать. А что делать с transact, как подсунуть свою реализацию метода для тестов?
Выдели интерфейс, который просто F возвращает и не просит имплисит transactor
https://youtu.be/C0srg5T0E4o?t=4981 а пример от Кая изучен?
UserRepository[G] в прод коде G = ConnectionIO в тестовом G = F вместо transactor[F] передавать G ~> F
Обсуждают сегодня