Repository navigation
Add delete endpoints for films and users - #16
Conversation
Kirill-Kazantcev
left a comment
There was a problem hiding this comment.
Все в рамках ТЗ - ОК
DariaPrindina
left a comment
There was a problem hiding this comment.
Всё ок 👍 Проверила каскад с моими таблицами для отзывов и ленты, удаление их подхватит. Два мелких необязательных замечания в коде.
| } | ||
|
|
||
| @Test | ||
| void shouldThrowWhenDeletingUnknownUser() { |
There was a problem hiding this comment.
Для пользователя есть тест на удаление несуществующего id, а для фильма такого нет. Может, добавить симметричный в FilmDbStorageTest? Не блокирует, на усмотрение 🙂
There was a problem hiding this comment.
Сначала специально не стала, чтобы не устроить Роме конфликт в импортах.
Но проверила, что встаёт без конфликта, так что добавила)
| assertTrue(filmStorage.findPopular(10, null, null).isEmpty()); | ||
| } | ||
|
|
||
| // Лайки удалённого пользователя пропадают из подсчёта популярных |
There was a problem hiding this comment.
Мелочь: комментарий повторяет имя теста. В остальных тестах репозитория над методами комментариев нет, они только поясняют подготовку данных или неочевидное поведение. Можно убрать, чтобы было в одном стиле. Не принципиально 🙂
DELETE /films/{id} и DELETE /users/{id} - удаляют фильм и пользователя. На несуществующий id - 404.
Связанные записи удаляет сама база: у таблиц со ссылками на films и users стоит ON DELETE CASCADE, поэтому в сервисах ничего вручную не чистится. Отзывы, режиссёры и лента подхватятся так же - если у их таблиц тоже каскад.
В тестах хранилищ проверила удаление фильма с жанрами и лайками, пользователя с дружбой и что лайки удалённого пользователя пропадают из популярных.
Заодно дописала в README общие фильмы и фильтры популярных по жанру и году - их там не было.