Closed Dregid closed 1 year ago
@Dregid
Прочитал про Page — это бомба. Особенно для моей головы). Немного в этом разобраться помог пример с endpoint'ом для получения пользователей по нику, и то не с первого раза.
И также снова с тестами. Тест с контроллером как по мне написан нормально. А вот тест с сервисом у меня вызвал проблемы, к примеру сравнение Page
У меня небольшие сомнения были по поводу сервиса и репозитория. Сразу начну с последнего:
В репозитории в sql запросе, мы хотим получить всю информацию о подписках у пользователя, то есть, хотим получить все столбцы (всю строку) для каждой подписке пользователя. Нужно ли как то ограничить кол-во получаемой информации о подписке (то есть о пользователе на которого подписаны)?
В сервисе, полученный список мы сразу отправляем в место, откуда метод был вызван. То есть, он возвращает список с целыми моделями User, не приведенные в DTO. У меня уже была логика в голове, что если бы мне это нужно было делать — я бы циклом обошел весь список, и из каждого метода сделал бы UserDTO, и отправил это все новым списком, содержащий UserDTO объекты. Но мне это показалось жирным, т.к. человек в крайнем случае мог быть подписан на бешенное кол-во пользователей (лимон к примеру), и мне пришлось бы каждого пользователя в цикле переводить в DTO. Поэтому я решил обойтись сначала без него.
Теперь про тесты. Я все еще плохо в них разбираюсь, и иногда просто захожу в тупик — "А правильно ли я это делаю? А нужно ли это проверять? А вот эти два списка так нужно сравнивать? Вдруг их по другому нужно сравнивать. А как тогда?" Так что сделал так как понимаю нужным. Поэтому вопрос по поводу заглушек followee. Правильно ли то, что их вообще использую? Или нужно создавать на каждый элемент новый объект? Мне это тоже показалось жирным, поэтому создал один объект. И мне почему то кажется неправильной их проверка, чувство, как будто мне нужно сравнивать что то еще.
Вроде бы все...