Общее правило: писать тесты сложно, ваша архитектура, скорее всего, не очень хорошая.
В вашем случае выполнение всей работы в контроллере представления действительно очень плохо.Код должен быть легко читаемым и легко изменяемым, потому что это то, что мы разработчики делаем постоянно.
Так что вам следует улучшить свою архитектуру.Но я бы добавил тесты перед рефакторингом, чтобы убедиться, что вы не добавляете ошибки.После рефакторинга вам необходимо изменить тесты, чтобы они соответствовали измененной архитектуре.