Минус использования бд - тот же самый что и у всякого интернал-апи - ты 100% пропустишь момент, когда поменяется связка между таблицами или формат заполнения какой-нибудь колонки.
Если тдд, то можно сначала обмазаться базой, а потом воткнуть туда рест по готовности.
Аргумент что пост может отвалиться - хз, ну он мб не должен отваливаться? Если отваливается через раз и это правильно - сделай ретраер. Коннект до бд тоже может по пизде пойти или кто-то базу залочить
У них там репозиторий. Значит, что у сущности есть метод "скинь в базу", который не знает, как там устроена база, таблицы или колонки. И значит, этот метод можно использовать, как в юнитах, чтобы не плодить лишние запросы и их обработку. Тогда, если, условно, наебнётся POST, потому что там аргументы и валидатор поменялись, то ты это увидишь в тесте POST-а. А если использовать его в качестве подготовки остальных тестов, то наебнутся все, и ты ещё будешь бегать и искать.