69 lines
4.4 KiB
Markdown
69 lines
4.4 KiB
Markdown
# Spec Delta
|
|
|
|
## MODIFIED Requirements
|
|
|
|
### Requirement: Создание альбома
|
|
Зарегистрированный пользователь SHALL иметь возможность создать альбом и стать его владельцем.
|
|
|
|
#### Scenario: Создание альбома
|
|
- **WHEN** пользователь создаёт альбом с названием
|
|
- **THEN** система создаёт альбом и назначает пользователя владельцем
|
|
|
|
#### Scenario: Создание через диалог из списка
|
|
- **WHEN** пользователь в списке альбомов активирует кнопку создания и вводит название в открывшемся диалоге
|
|
- **THEN** система создаёт альбом с указанным названием и показывает его в списке
|
|
|
|
### Requirement: Редактирование альбома
|
|
Владелец и админ SHALL иметь возможность редактировать название, описание и обложку альбома.
|
|
|
|
#### Scenario: Редактирование альбома
|
|
- **WHEN** админ изменяет описание альбома
|
|
- **THEN** система сохраняет изменения
|
|
|
|
#### Scenario: Выбор обложки из фото альбома
|
|
- **WHEN** владелец или админ выбирает одно из фото альбома в качестве обложки
|
|
- **THEN** система сохраняет выбранное фото как обложку альбома
|
|
|
|
#### Scenario: Очистка обложки
|
|
- **WHEN** владелец или админ убирает обложку альбома
|
|
- **THEN** система очищает обложку альбома
|
|
|
|
#### Scenario: Обложка недоступна без прав
|
|
- **WHEN** участник без прав редактирования альбома пытается изменить обложку
|
|
- **THEN** система отклоняет запрос
|
|
|
|
#### Scenario: Обложкой можно назначить только фото этого альбома
|
|
- **WHEN** в качестве обложки передан id фото, не принадлежащего альбому
|
|
- **THEN** система отклоняет запрос и не меняет обложку
|
|
|
|
## ADDED Requirements
|
|
|
|
### Requirement: Обложка альбома в списке
|
|
Система SHALL включать в список альбомов URL миниатюры обложки для каждого альбома, у которого обложка задана.
|
|
|
|
#### Scenario: Список содержит URL обложки
|
|
- **WHEN** пользователь запрашивает список альбомов и у альбома задана обложка
|
|
- **THEN** система возвращает для этого альбома URL миниатюры обложки
|
|
|
|
#### Scenario: Обложка не задана
|
|
- **WHEN** у альбома обложка не задана
|
|
- **THEN** система возвращает пустое значение обложки для этого альбома
|
|
|
|
### Requirement: Автоматическая обложка
|
|
Система SHALL назначать первое обработанное фото альбома обложкой только если обложка ещё не задана.
|
|
|
|
#### Scenario: Назначение при пустой обложке
|
|
- **WHEN** фото альбома обработано, и у альбома обложка не задана
|
|
- **THEN** система назначает это фото обложкой альбома
|
|
|
|
#### Scenario: Ручной выбор не затирается
|
|
- **WHEN** фото альбома обработано, а обложка уже задана
|
|
- **THEN** система не изменяет текущую обложку
|
|
|
|
### Requirement: Удаление фото-обложки
|
|
Система SHALL очищать обложку альбома, если фото, назначенное обложкой, удалено.
|
|
|
|
#### Scenario: Удалено фото-обложка
|
|
- **WHEN** удаляется фото, назначенное обложкой альбома
|
|
- **THEN** система очищает обложку альбома и список не возвращает URL для неё
|