Storage у тебя возвращают F.
А у меня аналогичные методы возвращают ConnectionIO, которое превращается в F уже в сервисе.
Это дает возможность сделать несколько вызовов в рамках одной транзации. С F так нельзя.
Не рассматривали варианты, как организовать код так, чтобы и в рамках транзакции оставаться и тесты в функциональном стиле писать?
Пока в голову приходит только мысль, что оставить возвращаемый тип ConnectionIO, а в тестовой реализации делать через connection.pure.
Это почему нельзя сделать несколько F в одной транзакции Оо
Мы везде протаскиваем в зависимостях транзактор, но если возникла такая необходимость, мб стоит протаскивать только функцию transact которая ConnectionIO ~> F тогда в тестах, наверное, можно будет запилить свою реализацию этого преобразования, но яхз насколько это будет сложно, т.к. в кишки ConnectionIO не залезал
Обсуждают сегодня