# Аддоны в коробку
###### tags: `BILL 5`, `BILL 6`
## Свой тип продукта
**Для данного типа продукта проводим проверки на аддонах всех типов (изменяемых)**
1. Целое по ближайшему значению
2. Целое за каждый шаг шкалы
3. Целое по пакетам значений
4. Целое по вариантам значений
5. Логическое да/нет
6. Перечисление + тип отображения(только 6ка):
6.1. Выпадающий список
6.2. Элемент выбора
6.3. Переключатель
7. Выбирается клиентом + тип отображения(только 6ка):
7.1. Выпадающий список
7.2. Элемент выбора
7.3. Переключатель
### Проверки поведения аддонов на форме редактирования в зависимости от настроек изменения ресурса после зазказа
Не все аддоны проработаны со стороны UX по политикам отказа от доп.ресурсов. Будут прорабатываться в [этой задаче](https://youtrack.ispsystem.net/issue/bc-1842). При тестировании можно ориентироваться на [этот прототип.](https://e4e1zb.axshare.com/#g=1&p=dedic_page_config_processing), но главное в первую очередь чтобы нельзя было выбрать то, что запрещено настройками тарифа.
И 5-ка и 6-ка.
- [ ] 1. Тип значения - целое число, по ближайшему значению шкалы значений (слайдер)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по лимитам)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - значение можно менять только в большую сторону
- [ ] Только понижение - значение можно менять только в меньшую сторону
- [ ] 2. Тип значения - целое число, за каждый шаг шкалы значений (слайдер)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по лимитам)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - значение можно менять только в большую сторону
- [ ] Только понижение - значение можно менять только в меньшую сторону
- [ ] 3. Тип значения - целое число, с использованием пакетов значений (выпадающий список)
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - аддон доступен к изменению, все пакеты доступны
- [ ] Только понижение - значение аддона нельзя менять, все пакеты недоступны
- [ ] 4. Тип значения - целое число, с использованием вариантов значений (выпадающий список)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по значениям)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - в списке доступных значений есть только те, которые по значению выше текущего. Если выбрано самое высокое по значению - в списке доступно только оно
- [ ] Только понижение - в списке доступных значений есть только те, которые по значению ниже текущего. Если выбрано самое низкое по значению - в списке доступно только оно
- [ ] 5. Тип значения - логическое значение (чек-бокс)
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено - значение аддона нельзя менять. Чек-бокс ридонли
- [ ] Только повышение - можно только согласиться, потом чек-бокс дизейблится в выбранном состоянии
- [ ] Только понижение - можно только отказаться, потом чек-бокс дизейблится в не выбранном состоянии
- [ ] 6. Тип значения - перечисление. (типы отображения перебирать только для 6-ки, для 5-ки проверить любой)
- [ ] 6.1 Тип отображения - выпадающий список. Перечисления выводятся в виде выпадающего списка.
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону - все пункты доступны)
- [ ] Изменение запрещено. Выпадающий список задизейблен на выбранном перечислении - значение аддона нельзя менять.
- [ ] Только повышение - в списке доступных значений есть только те, которые по сортировке выше текущего. Если выбрано самое высокое по сортировке - в списке доступно только оно.
- [ ] Только понижение - в списке доступных значений есть только те, которые по сортировке ниже текущего. Если выбрано самое низкое по сортировке - в списке доступно только оно.
- [ ] 6.2 Тип отображения - элемент выбора. Перечисления выводятся в виде радиобаттонов.
- [ ] Если вариантов перечислений <= 5 то выводятся только радиобаттоны
- [ ] Если вариантов перечислений > 5 то выводятся 4 радиобатонна и кнопка `другое` по клику на которую открывается выпадающий список со всеми оставшимися перечислениями
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону)
- [ ] Изменение запрещено - значение аддона нельзя менять.
- [ ] Только повышение - в списке доступных значений есть только те, которые по сортировке выше текущего. Если выбрано самое высокое по сортировке - выводится один радиобаттон с этим значением
- [ ] Только понижение - в списке доступных значений есть только те, которые по сортировке ниже текущего. Если выбрано самое низкое по сортировке - выводится один радиобаттон с этим значением
- [ ] 6.3 Тип отображения - переключатель.
- [ ] Если значений <= 3, то аддон выводится в виде свитчера.
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону - по сортировке)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - в списке доступных значений есть только те, которые по сортировке выше текущего. Если выбрано самое высокое по сортировке - в списке доступно только оно
- [ ] Только понижение - в списке доступных значений есть только те, которые по сортировке ниже текущего. Если выбрано самое низкое по сортировке
- [ ] Если значений > 3, то аддон выводится в виде дропдауна(выпадающего списка). (Сейчас так не работает [bc-1851](https://youtrack.ispsystem.net/issue/bc-1851)) <font color="red"> Поведение дропдауна при разных политиках описано в пункте 6.2, повторно проводить проверку не нужно.</font>
- [ ] 7. Тип значения - выбирается клиентом
- [ ] 7.1 Тип отображения - выпадающий список. Перечисления выводятся в виде выпадающего списка.
- [ ] 7.2 Тип отображения - элемент выбора. Перечисления выводятся в виде радиобаттонов.
- [ ] 7.3 Тип отображения - переключатель.
- [ ] Если значений <= 3, то аддон выводится в виде свитчера.
- [ ] Если значений > 3, то аддон выводится в виде дропдауна(выпадающего списка). (Сейчас так не работает [bc-1851](https://youtrack.ispsystem.net/issue/bc-1851))
*Проверить на любом из типов отображения:*
- [ ] Изменение разрешено - аддон доступен к изменению (меняются варианты аддона)
- [ ] Изменение запрещено - значение аддона нельзя менять (т.е. доступен только тот тип дополнения, который был выбран при заказе)
- [ ] Только повышение - в списке доступных значений есть только те, которые по значению выше текущего (по сортировке). Если выбрано самое высокое по значению - доступно только оно
- [ ] Только понижение - в списке доступных значений есть только те, которые по значению ниже текущего(по сортировке). Если выбрано самое низкое по значению - доступно только оно
### Проверки поведения элементов на форме редактирования в зависимости от статуса
- [ ] Редактирование аддонов любого типа доступно для услуг в статусах:
- [ ] *Активен*
- [ ] При увеличении аддона требующего оплаты кнопка `Сохранить изменения` заменяется на блок `К оплате`:
- [ ] Появляется кнопка `в корзину`
- [ ] Появляется кнопка `отмена`
- [ ] Выводится сумма `К оплате`, которая динамически увеличивается/уменьшается при редактировании аддона
- [ ] Появляется кнопка `подробнее`. По клику открывается дропдаун с информацией о параметрах.
- [ ] Дропдаун открывается корректно. позиционируется правильно
- [ ] Данные внутри дропдауна выводятся корректно (стоимости, единицы измерения)
- [ ] Если на аддон или тариф действует скидка, то рядом с общей суммой к оплате не выводится скидка. Скидка отображена в "подробнее" для каждого аддона.
- [ ] По крестику дропдаун закрывается
- [ ] Внутри модалки услуги не появляются лишние скроллинги (bc-1803)
- [ ] При уменьшении аддона без возврата форма не изменяется , остается кнопка `Сохранить изменения`
- [ ] При уменьшении аддона с возвратом на форме появляется сумма возврата , остается кнопка `Сохранить изменения`
- [ ] *В корзине* (из списка по клику на тариф)
- [ ] При увеличении платного аддона блок `К оплате` не появляется, остается кнопка `Сохранить изменения`
- [ ] При уменьшениее платного аддона информация о возврате не появляется вне зависимости от политики, остается кнопка `Сохранить изменения`
- [ ] При сохранении изменений услуга остается в корзине, сумма к оплате в корзине и в списке изменяется при повышении/понижении в большую/меньшую стоимость соответственно
- [ ] *Завершите настройку* - **Фактически данного статуса для конечного пользователя нет, точнее он не выводится сейчас корректно в 6ке, но проверить поведение после БЗ нужно**
- [ ] При увеличении аддона требующего оплаты кнопка `Сохранить изменения` заменяется на блок `К оплате`
- [ ] При уменьшении аддона без возврата форма не изменяется , остается кнопка `Сохранить изменения`
- [ ] При уменьшении аддона с возвратом на форме появляется сумма возврата , остается кнопка `Сохранить изменения` Провайдер2
- [ ] *Остановлен* (за неуплату)
- [ ] При увеличении аддона требующего оплаты кнопка `Сохранить изменения` заменяется на блок `К оплате`
- [ ] Сумма к оплате выводится с учетом стоимости продления
- [ ] В дропдаун `подробнее` выводится стоимость продления первой позицией, после выводится информация по аддонам
- [ ] При уменьшении аддона без возврата кнопка `Сохранить изменения` заменяется на блок `К оплате`. Для сохранения значения аддона пользователю необходимо оплатить продление (такая логика сейчас в 5ке)
- [ ] При уменьшении аддона с возвратом кнопка `Сохранить изменения` заменяется на блок `К оплате`. Для сохранения значения аддона пользователю необходимо оплатить продление (такая логика сейчас в 5ке)
- [ ] *Остановлен* (администратором)
- [ ] При увеличении аддона требующего оплаты кнопка `Сохранить изменения` заменяется на блок `К оплате`. Стоимость продления не добавляется к сумме.
- [ ] При уменьшении аддона без возврата форма не изменяется , остается кнопка `Сохранить изменения`.
- [ ] При уменьшении аддона с возвратом на форме появляется сумма возврата , остается кнопка `Сохранить изменения`
- [ ] *Остановлен* (пользователем при почасовом биллинге или при доступе к запуску/остановке услуг)
- [ ] При увеличении аддона требующего оплаты кнопка `Сохранить изменения` заменяется на блок `К оплате`. Стоимость продления не добавляется к сумме.
- [ ] При уменьшении аддона без возврата форма не изменяется , остается кнопка `Сохранить изменения`.
- [ ] При уменьшении аддона с возвратом на форме появляется сумма возврата , остается кнопка `Сохранить изменения`
- [ ] Редактирование аддонов любого типа не доступно для услуг в статусах:
- [ ] Оплачивается
- [ ] В обработке
- [ ] Продлевается
- [ ] Удаляется
- [ ] Отключение
- [ ] Включение
### Проверки поведения по кликам на кнопки
- [ ] Кнопка `Сохранить` (`Ок` в 5ке)
- [ ] При наличии изменений по бесплатным аддонам (понижение без возврата или скидка) и корректном указании параметров, изменения сохраняются, пользователя редиректит в список, выводится зеленый баннер
- [ ] При наличии изменений по бесплатным аддонам и некорректном указании параметров срабатывает валидация, модалка не закрывается, изменения сохраняются в открытой модалке, но не сохраняются для услуги.
- [ ] При наличии изменений по платным аддонам (понижение с возвратом) и корректном указании параметров, изменения сохраняются, пользователя редиректит в список, выводится зеленый баннер, сумма возвращается на ЛС.
- [ ] При наличии изменений по платным аддонам (понижение с возвратом) и некорректном указании параметров срабатывает валидация, модалка не закрывается, изменения не сохраняются, сумма на ЛС не возвращается.
- [ ] При наличии изменений по нескольким платным аддонам (1. Целое по ближайшему значению повышение, 2. Целое за каждый шаг шкалы понижение)
- [ ] Сумма к оплате = сумме возврата. Визуально не отличается от обычного сохранения, изменения сохраняются, пользователя редиректит в список, выводится зеленый баннер. По аддону 1 создается платеж, а по аддону 2 создается расход
- [ ] Сумма к оплате < суммы возврата. Визуально не отличается от возврата, изменения сохраняются, пользователя редиректит в список, выводится зеленый баннер. По аддону 1 создается платеж, а по аддону 2 создается расход. На ЛС зачисляется сумма возврата.
- [ ] Кнопка `В корзину` (и 5ка и 6ка)
- [ ] При наличии изменений по одному платному аддону (1. Целое по ближайшему значению) он кладется в корзину одной позицией, выводится плашка добавления в корзину. Модалка закрывается, изменения вступают в силу только после зачисления платежа.
- [ ] При наличии изменений по двум платным аддонам (2. Целое за каждый шаг шкалы и 3. Целое по пакетам значений - оба повышение) оба кладутся в корзину одной позицией, выводится плашка добавления в корзину. Модалка закрывается, изменения вступают в силу только после зачисления платежа.
- [ ] При наличии изменений по нескольким платным аддонам (4. Целое по вариантам значений - повышение, 5. Логическое да/нет - понижение)
- [ ] Сумма к оплате > суммы возврата. Визуальный вид формы и поведение такое же как при оплате одного аддона. В корзину кладутся изменения по аддону 1 и изменения по адону 2. Модалка закрывается. [Отображение аддонов с возвратом и оплатой в корзине будет прорабатываться в этой задаче](https://youtrack.ispsystem.net/issue/bc-1832)
- [ ] При наличии изменений по одному платному аддону (6.1. Перечисление, выпадающий список) если услуга остановлена за неуплату
- [ ] Выводятся две плашки добавления в корзину: продление и изменениями по аддону. В корзину кладутся 2 позиции: продление и изменение услуги. Модалка закрывается.
- [ ] При наличии изменений по одному платному аддону (6.2. Перечисление, элемент выбора) и корректном указании параметра. Значение параметра сохраняется сразу, модалка закрывается, выводится зеленый баннер о сохранении изменений. Выводится плашка добавления в корзину по аддону
- [ ] При наличии изменений по двум платным аддонам (6.2. Перечисление, элемент выбора и 6.3. Перечисление, переключатель) и некорректном указании параметра срабатывает валидация, модалка не закрывается, изменения сохраняются в открытой модалке, но не сохраняются для услуги.
- [ ] Кнопка `Оплатить` (только 6ка)
- [ ] При наличии изменений по одному платному аддону (3. Целое по пакетам значений) открывается модалка оплаты изменений со всеми доступными МО.
- [ ] При наличии изменений по нескольким платным аддонам (1. Целое по ближайшему значению и 2. Целое за каждый шаг шкалы - оба повышение) открывается модалка оплаты изменений со всеми доступными МО.
- [ ] При наличии изменений по одному платному аддону (6.1. Перечисление, выпадающий список) если услуга остановлена за неуплату открывается модалка оплаты изменений со всеми доступными МО, к стоимости изменений прибавляется стоимость продления.
- [ ] При наличии изменений по одному платному аддону (6.2. Перечисление, элемент выбора) и корректном указании параметра открывается модалка оплаты изменений со всеми доступными МО, значение параметра сохраняются сразу,
- [ ] При наличии изменений по двум платным аддонам (6.2. Перечисление, элемент выбора и 6.3. Перечисление, переключатель) и некорректном указании параметра срабатывает валидация, модалка не закрывается, изменения сохраняются в открытой модалке, но не сохраняются для услуги. Модалка оплаты не открывается
- [ ] Кнопка `Отмена` сбрасывает все изменения (по аддонам, по параметрам) внесенные пользователем
### Взаимоисключающие операции в корзине (можно проверить только в 6ке)
**Для активной услуги**
- [ ] В корзине лежит продление по услуге.
- [ ] При добавлении в корзину покупки аддона этой же услуги продление удаляется из корзины.
- [ ] При оплате покупки аддона этой же услуги через модалку, продление удаляется из корзины.
- [ ] При добавлении в корзину смены тарифа этой же услуги продление удаляется из корзины.
- [ ] При оплате смены тарифа этой же услуги через модалку, продление удаляется из корзины.
- [ ] При добавлении в корзину продления этой же услуги на другой период, предыдущая позиция удаляется из корзины, создается новая.
- [ ] При оплате продления этой же услуги на другой период через модалку, предыдущая позиция удаляется из корзины, создается новая.
- [ ] В корзине лежит продление доступа к обновлениям по услуге.
- [ ] При добавлении в корзину покупки аддона этой же услуги продление удаляется из корзины.
- [ ] При оплате покупки аддона этой же услуги через модалку, продление удаляется из корзины.
- [ ] При добавлении в корзину смены тарифа этой же услуги продление удаляется из корзины.
- [ ] При оплате смены тарифа этой же услуги через модалку, продление удаляется из корзины.
- [ ] При добавлении в корзину продления доступа к обновлениям этой же услуги, предыдущая позиция удаляется из корзины, создается новая.
- [ ] При оплате продления этой же услуги через модалку, предыдущая позиция удаляется из корзины, создается новая.
- [ ] В корзине лежит изменение аддона.
- [ ] При добавлении в корзину продления этой же услуги изменение аддона удаляется из корзины.
- [ ] При оплате продления этой же услуги через модалку изменение аддона удаляется из корзины.
- [ ] При добавлении в корзину смены тарифа этой же услуги изменение аддона удаляется из корзины.
- [ ] При оплате смены тарифа этой же услуги через модалку изменение аддона удаляется из корзины.
- [ ] При добавлении в корзину изменений того же аддона позиция в корзине обновляется до нового значения.
- [ ] При оплате изменений того же аддона через модалку позиция в корзине удаляется.
- [ ] При добавлении в корзину изменения другого аддона на аддон не создается отдельная позиция в корзине, изменения добавляются к предыдущей.
- [ ] При оплате изменения другого аддона через модалку, существующая позиция в корзине сохраняется.
- [ ] В корзине лежит смена тарифа.
- [ ] При добавлении в корзину продления этой же услуги, смена тарифа удаляется из корзины.
- [ ] При оплате продления этой же услуги через модалку, смена тарифа удаляется из корзины.
- [ ] При добавлении в корзину покупки аддона этой же услуги смена тарифа удаляется из корзины.
- [ ] При оплате покупки аддона этой же услуги через модалку смена тарифа удаляется из корзины.
- [ ] Пользователь добавляет в корзину смену тарифа этой же услуги, выбрав другой тариф. Предыдущая позиция удаляется из корзины, создается новая.
**Исключение для услуги остановленной за неуплату**
- [ ] При покупке через корзину аддонов у остановленной услуги в корзину кладутся 2 позиции одновременно: Покупка аддонов и продление
- [ ] При повторном изменении того же аддона и добавлении его в корзину, продление в корзине остается, еще одно не добавляется. Редактирование аддона в корзине заменяется на новое значение.
- [ ] При повторном изменении того же аддона и оплате его через модалку продление из корзины удаляется.
- [ ] При изменении другого аддона этой же услуги и добавлении его в корзину, продление из корзины не удаляется. Предыдущая позиция с изменением аддона обновляется с учетом нового аддона.
- [ ] При изменении другого аддона этой же услуги и оплате его через модалку, продление из корзины удаляется. Предыдущая позиция с изменением аддона удаляется.
### Проверки изменений в корзине при изменении тарифа
- [ ] При редактировании аддона в тарифе выводится баннер с мессагой: `При изменении конфигурации тарифного плана, из корзин всех клиентов будут удалены услуги заказанные по данному тарифу. Изменение цен не влечет за собой удаление услуг из корзины`
- [ ] 1. Целое по ближайшему значению
- [ ] Изменение стоимости аддона - стоимость услуги в корзине пересчитывается
- [ ] Изменился тип учета - заказ удаляется из корзины
- [ ] Изменился тип - заказ удаляется из корзины
- [ ] Изменился тип значения - заказ удаляется из корзины
- [ ] Изменился тип шкалы значений - заказ удаляется из корзины
- [ ] Изменилась политика изменения ресурса после заказа - заказ удаляется из корзины
- [ ] Изменился мин. период заказа - заказ удаляется из корзины
- [ ] Изменилась ручная обработка - заказ удаляется из корзины
- [ ] Изменилось собственное наименование - заказ удаляется из корзины
- [ ] Изменилась единица измерения - заказ удаляется из корзины
- [ ] Изменилось значение включено в тариф - заказ удаляется из корзины
- [ ] Изменился шаг:
- [ ] Шаг изменился так, что заказанное значение может быть получено с этим шагом (но цена изменилась) - заказ удаляется из корзины
- [ ] Шаг изменился так, что заказанное значение НЕ может быть получено с этим шагом - заказ удаляется из корзины
- [ ] Изменилось минимальное значение - заказ удаляется из корзины
- [ ] Изменилось максимальное значение:
- [ ] Если услуга НЕ триальная, и заказанное значение осталось меньше максимального - заказ удаляется из корзины
- [ ] Если услуга НЕ триальная, и заказанное значение стало больше максимального - заказ удаляется из корзины
- [ ] Если услуга триальная, максимум на триале указан, и из тарифа убирают максимум на триале - заказ удаляется из корзины
- [ ] Если услуга триальная, максимум на триале НЕ указан, и указывают максимум на триале - заказ удаляется из корзины
- [ ] Изменился признак предмета расчёта - заказ удаляется из корзины
- [ ] Изменилось описание дополнения - заказ удаляется из корзины
- [ ] Аддон отключили от тарифа - заказ удаляется из корзины
- [ ] 5. Логическое да/нет
- [ ] Изменилось включено в тариф - заказ удаляется из корзины
- [ ] Аддон отключили от тарифа - заказ удаляется из корзины
- [ ] 6. Перечисление (любой тип отображения)
- [ ] Изменился тип отображения - заказ удаляется из корзины
- [ ] Изменилось перечисление - стоимость заказа пересчитывается
- [ ] Изменилось значение по умолчанию - заказ удаляется из корзины
- [ ] Изменилась стоимость при изменении - заказ удаляется из корзины
- [ ] Аддон отключили от тарифа - заказ удаляется из корзины
### Пользовательские сценарии (+ССО)
##### Позитивные сценарии
*Сценарий 1. Успешная оплата аддона с ЛС (через модалку)*
*Условие:* У пользователя есть активная услуга, он повышает аддон 6.1. (Перечисление, выпадающий список) и меняет значение параметра (обычное текстовое поле). Пользователь оплачивает изменения при помощи модалки оплаты, используя лицевой счет.
*Ожидание:*
- [ ] При оплате изменения сразу вступают в силу и по аддону и по параметру
- [ ] Пользователь остается в списке, ему выводится зеленый баннер об успешной оплате параметров
- [ ] Чек об оплате выставляется корректно
*Сценарий 2. Успешная оплата аддона с помощью нереккурентного метода оплаты с редиректом (через модалку)*
*Условие:* У пользователя есть активная услуга, он повышает аддоны 1 (Целое по ближайшему значению) и 3(Целое по пакетам значений) и меняет значение параметра (обычное текстовое поле). Пользователь оплачивает изменения при помощи модалки оплаты, используя любой нерекуррентный МО.
*Ожидание:*
- [ ] При оплате изменения по параметру сразу вступают в силу
- [ ] Пользователю выводится зеленый баннер об успешном сохранении параметров (это выглядит странно но данный баннер появляется за модалкой оплаты)
- [ ] После возврата из платежки происходит редирект в список услуг, выводится баннер об успешной оплате параметров
- [ ] Изменения по аддонам вступают в силу после зачисления платежа
- [ ] Чек об оплате выставляется корректно, содержит в себе 2 позиции соответствующие изменяемым аддонам
*Сценарий 3. Успешная оплата аддона у остановленной услуги с помощью реккурентного метода оплаты (через корзину)*
*Условие:* У пользователя есть остановленная за неуплату услуга, он повышает аддон 2 (Целое за каждый шаг шкалы). Пользователь кладет изменения в корзину и оплачивает используя реккурентный МО.
*Ожидание:*
- [ ] В корзину вместе с аддоном добавляется продление (плашки добавления и информация в корзине выводятся корректно. [Есть задача на это](https://youtrack.ispsystem.net/issue/bc-1834))
- [ ] В процессе совершения оплаты пользователю выводится галка `Сохранить способ оплаты`
- [ ] Если пользователь сохраняет СО, то по возврату из платежки создается ССО
- [ ] ССО не привязывается к услуге как СО для автопродления
- [ ] Услуга продлевается, а изменения по аддону вступают в силу после зачисления платежа
- [ ] Если пользователь не сохраняет СО, то по возврату из платежки ССО не создается
- [ ] Услуга продлевается, а изменения по аддону вступают в силу после зачисления платежа
- [ ] Чек об оплате аддона и продления выставляется корректно, содержит в себе позицию соответствующую изменяемому аддону
*Сценарий 4. Успешная оплата аддона с помощью ССО(через модалку)*
*Условие:* Политика изменения ресурса после заказа: только повышение.У пользователя есть активная услуга, он повышает аддон 4 (Целое по вариантам значений) и меняет значение параметра (поле с любой заданной функцией проверки) оплачивая его при помощи ССО через модалку.
*Ожидание:*
- [ ] При некорректном указании параметра появляется валидация, модалка оплаты не открывается, изменения не вступают в силу
- [ ] При корректном указании параметра открывается модалка оплаты, изменения по параметру сохраняются сразу
- [ ] Пользователю выводится зеленый баннер об успешном сохранении параметров (это выглядит странно но данный баннер появляется за модалкой оплаты)
- [ ] Изменения по аддонам вступают в силу после зачисления платежа
- [ ] ССО не привязывается к услуге как СО для автопродления
- [ ] Чек об оплате выставляется корректно, содержит в себе позицию соответствующую изменяемому аддону
- [ ] При повторном открытии услуги у аддона не доступны к выбору варианты значения меньше выбранного
*Сценарий 5. Отказ от аддона с возвратом*
*Условие:* Политика отказа в тарифе: возврат средств, изменение ресурса после заказа: только понижение. У пользователя есть активная услуга, он понижает аддон 5 (Логическое да/нет).
*Ожидание:*
- [ ] Пользователю выводится информация о возврате, возможность положить изменения в корзину отсутствует
- [ ] После сохранения сумма на лицевом счете увеличивается на сумму возврата
- [ ] При повторном открытии услуги на редактирование аддон (чек-бокс) задизейблен в отключенном состоянии
*Сценарий 6. Отказ от аддона без возврата и изменение параметра*
*Условие:* Политика отказа в тарифе: без возврата средств, изменение ресурса после заказа: только понижение. У пользователя есть активная услуга, он понижает аддон 7 (Выбирается клиентом, любой тип отображения) и изменить параметр (поле с любой заданной функцией проверки).
*Ожидание:*
- [ ] Пользователю НЕ выводится информация о возврате или оплате, возможность положить изменения в корзину отсутствует
- [ ] При не корректном указании параметра появляется валидация,изменения не сохраняются для аддона, модалка услуги не закрывается
- [ ] При корректном указании параметра изменения по параметру и аддону сохраняются и вступают в силу сразу
- [ ] При повторном открытии услуги на редактирование для аддона не доступны к выбору значения больше текущего.
*Сценарий 7. Повышение одного аддона и понижение второго с возвратом средств*
*Условие:* У пользователя есть активная услуга. Он повышает аддон 1 (Целое по ближайшему значению) и понижает аддон 6 (перечисление) с возвратом. Изменения пользователь кладет в корзину(bc-1832) и оплачивает любым нереккурентным МО.
*Ожидание:*
- [ ] В корзину попадают изменения по двум аддонам и понижение, и повышение (сумма к оплате рассчитывается с учетом возврата)
- [ ] Изменения по двум аддонам не вступают в силу до оплаты
- [ ] После оплаты и успешного зачисления платежа изменения по двум аддонам применяются
##### Негативные сценарии
*Сценарий 1. Неуспешная оплата аддона с помощью нереккурентного метода оплаты с редиректом*
*Условие:* У пользователя есть активная услуга, он повышает аддон 7 (Выбирается клиентом, любой тип отображения) и оплачивает его через модалку.
*Ожидание:*
- [ ] Изменения по аддонам не вступают в силу до зачисления платежа
- [ ] При возврате из платежки с услугой ничего не происходит, стандартно выводится баннер о не успешном платеже
- [ ] При повторном открытии услуги на редактирование все значения аддонов остаются прежними.
*Сценарий 2. Неуспешная оплата аддона с помощью реккурентного метода оплаты с его сохранением*
*Условие:* У пользователя есть остановленная за неуплату услуга, он повышает аддон 6 (Перечисление, любой тип отображения) и оплачивает его через корзину.
*Ожидание:*
- [ ] В корзину вместе с аддоном добавляется продление (плашки добавления и информация в корзине выводятся корректно)
- [ ] Методы оплаты не фильтуются на реккуренты (как в случае активного автопродления при покупке услуги)
- [ ] В процессе совершения оплаты пользователю выводится галка `Сохранить способ оплаты`
- [ ] Если пользователь выбирает сохранение СО, то по возврату из платежки ССО не создается
- [ ] Если пользователь не выбирает сохранение, то по возврату из платежки ССО не создается
- [ ] При возврате из платежки с услугой ничего не происходит, она остается в статусе Остановлен, стандартно выводится баннер о не успешном платеже
- [ ] При повторном открытии услуги на редактирование все значения аддонов остаются прежними.
*Сценарий 3. Неуспешная оплата аддона с помощью ССО*
*Условие:* У пользователя есть активная услуга, он повышает аддон 4(Целое по вариантам значений), изменяет параметр (обычное текстовое поле) и кладет в корзину.
*Ожидание:*
- [ ] Аддон корректно кладется в корзину, изменения по параметру сохраняются сразу
- [ ] Изменения по аддону не вступают в силу до зачисления платежа
- [ ] При возврате из платежки с услугой ничего не происходит, стандартно выводится баннер о не успешном платеже
- [ ] При повторном открытии услуги на редактирование все значения аддонов остаются прежними, параметр измененный.
- [ ] ССО переходит в статус `Не работает`
***********************************************************
## Лицензии v6
**Для данного типа продукта проводим проверки только на аддонах следующих типов:**
**1. Целое число по ближайшему значению.
4. Целое число по вариантам значений.**
**<font color="red">Т.к лицензии v6 в коробке представляют собой стандартную услугу,чтобы не проводить повторно одни и те же проверки - основные проверки будут описаны в виде пользовательских сценариев с упором на перепродажу.</font>**
- [ ] При импорте тарифа с my (с новой политикой отказа от доп.ресурсов) в коробку ошибок не возникает, новая политика в коробке не появилась.
- [ ] При создании нового тарифа новая политика отсутствует
- [ ] Заказ услуги работает без ошибок
*<font color="red">Думаю, стоит по мере необходимости проверить перепродажу более досконально, отдельной задачей</font>*
### Проверки доступности изменения аддонов
- [ ] Редактирование аддонов доступно для услуг в статусах:
- [ ] Активен
- [ ] В корзине (только из списка в 6ке)
- [ ] Завершите настройку
- [ ] Остановлен (по любой причине)
- [ ] Редактирование аддонов не доступно для услуг в статусах:
- [ ] Оплачивается
- [ ] В обработке
- [ ] Продлевается
- [ ] Удаляется
- [ ] Отключение
- [ ] Включение
### Пользовательские сценарии (+ССО)
#### Позитивные сценарии
*Первоначальное условие проверок:*
На продающем есть 2 тарифных плана: VM6 (оба типа аддонов 1 и 4) и DCI (тип 4). Политика изменения ресурсов после заказа: Изменение разрешено. Оба тарифа с новой политикой отказа от доп.ресурсов. Тарифные планы импортированы в перепродающий, у пользователя есть две услуги по обоим тарифам.
*Сценарий 1. Успешная оплата аддона с ЛС (через модалку)*
*Условие:* У пользователя есть активная лицензия VM6, он повышает аддон 1 (Целое число по ближайшему значению) и меняет значение параметра `Комментарий к лицензии`. Пользователь оплачивает изменения при помощи модалки оплаты, используя лицевой счет.
*Ожидание:*
- [ ] При оплате изменения сразу вступают в силу и по аддону и по параметру
- [ ] На продающем данные значения так же применяются
- [ ] Пользователь остается в списке, ему выводится зеленый баннер об успешной оплате параметров
- [ ] Чек об оплате выставляется корректно
*Сценарий 2. Успешная оплата аддона с помощью нереккурентного метода оплаты с редиректом (через модалку)*
*Условие:* У пользователя есть активная лицензия VM6, он повышает аддоны 1 (Целое по ближайшему значению) и 4( Целое число по вариантам значений) и меняет значение параметра `Комментарий к лицензии`. Пользователь оплачивает изменения при помощи модалки оплаты, используя любой нерекуррентный МО.
*Ожидание:*
- [ ] При оплате изменения по параметру сразу вступают в силу
- [ ] Пользователю выводится зеленый баннер об успешном сохранении параметров (это выглядит странно но данный баннер появляется за модалкой оплаты)
- [ ] После возврата из платежки происходит редирект в список услуг, выводится баннер об успешной оплате параметров
- [ ] Изменения по аддонам вступают в силу после зачисления платежа и обработки на продающем
- [ ] На продающем значения параметра и аддона так же применяются
- [ ] Чек об оплате выставляется корректно, содержит в себе 2 позиции соответствующие изменяемым аддонам
*Сценарий 3. Успешная оплата аддона у остановленной услуги с помощью реккурентного метода оплаты (через корзину)*
*Условие:* У пользователя есть остановленная за неуплату лицензия DCI, он повышает аддон 4 (Целое число по вариантам значений). Пользователь кладет изменения в корзину и оплачивает используя реккурентный МО.
*Ожидание:*
- [ ] В корзину вместе с аддоном добавляется продление лицензии (плашки добавления и информация в корзине выводятся корректно. [Есть задача на это](https://youtrack.ispsystem.net/issue/bc-1834))
- [ ] В процессе совершения оплаты пользователю выводится галка `Сохранить способ оплаты`
- [ ] Если пользователь сохраняет СО, то по возврату из платежки создается ССО
- [ ] ССО не привязывается к услуге как СО для автопродления
- [ ] Услуга продлевается и изменения по аддону вступают в силу после зачисления платежа и обработки на продающем
- [ ] На продающем услуга запускается, измененные значения применяются
- [ ] Если пользователь не сохраняет СО, то по возврату из платежки ССО не создается
- [ ] Услуга продлевается и изменения по аддону вступают в силу после зачисления платежа и обработки на продающем
- [ ] На продающем услуга запускается, измененные значения применяются
- [ ] Чек об оплате аддона и продления выставляется корректно, содержит в себе позицию соответствующую изменяемому аддону
*Сценарий 4. Успешная оплата аддона с помощью ССО(через корзину)*
*Условие:* У пользователя есть активная лицензия VM6, он повышает аддон 4( Целое число по вариантам значений) и меняет значение параметра `Комментарий к лицензии`. Пользователь кладет изменения в корзину.
*Ожидание:*
- [ ] Аддон кладется в корзину, изменения по параметру сохраняются сразу, пользователю выводится баннер о успешном сохранении
- [ ] Изменения по аддонам вступают в силу после зачисления платежа и обработки на продающем
- [ ] На продающем значения параметра и аддона так же применяются
- [ ] ССО не привязывается к услуге как СО для автопродления
- [ ] Чек об оплате выставляется корректно, содержит в себе позицию соответствующую изменяемому аддону
*Сценарий 5. Отказ от аддона с возвратом*
*Условие:* Политика отказа в тарифе: возврат средств. У пользователя есть активная лицензия VM6, он понижает аддон 4( Целое число по вариантам значений) не ниже используемого фактически значения.
*Ожидание:*
- [ ] Пользователю выводится информация о возврате, возможность положить изменения в корзину отсутствует
- [ ] После сохранения сумма на лицевом счете увеличивается на сумму возврата
- [ ] На продающем значения аддона применяются, появляется красная мессага о применении изменений после продления
- [ ] На перепродающем значения аддона применяются сразу ( <font color="red"> Данный пункт вызывает у меня сомнения. Если изменения на перепродающем не применятся, то в итоге выйдет так что возврат был осуществлен, но конечный пользователь продолжает использовать оплаченое ранее количество ресурсов</font>
*Сценарий 6. Отказ от аддона без возврата*
*Условие:* Политика отказа в тарифе: без возврата средств. У пользователя есть активная лицензия VM6, он понижает аддон 1( Целое число по ближайшему значению) не ниже используемого фактически значения.
- [ ] Пользователю НЕ выводится информация о возврате, возможность положить изменения в корзину отсутствует
- [ ] После сохранения сумма на лицевом счете НЕ увеличивается
- [ ] На продающем значения аддона применяются, появляется красная мессага о применении изменений после продления
- [ ] На перепродающем значения аддона применяются сразу ( <font color="red"> Данный пункт вызывает у меня сомнения, как и в предыдущем сценарии</font>)
*Сценарий 7. Отказ от одного аддона с возвратом и повышение второго аддона*
*Условие:* Политика отказа в тарифе: возврат средств. У пользователя есть активная лицензия VM6, он повышает аддон 4( Целое число по вариантам значений) и понижает аддон 1( Целое число по ближайшему значению) не ниже используемого фактически значения. Сумма возврата < суммы оплаты. Оплачивает любым нереккурентным МО через корзину.
- [ ] В корзину попадают изменения по двум аддонам и понижение, и повышение (сумма к оплате рассчитывается с учетом возврата bc-1832)
- [ ] Изменения по двум аддонам не вступают в силу до оплаты
- [ ] На продающем значения аддонов применяются
- [ ] Для аддона 1 появляется красная мессага о применении изменений после продления
- [ ] Для аддона 4 применяется повышение
- [ ] После оплаты и успешного зачисления платежа и обработки на продающем изменения по двум аддонам применяются
*Сценарий 8. Отказ от аддона с возвратом и изменение параметра*
*Условие:* Политика отказа в тарифе: возврат средств. У пользователя есть активная лицензия DCI, он понижает аддон 4( Целое число по вариантам значений) не ниже используемого фактически значения и меняет значение параметра `Комментарий к лицензии`.
- [ ] Пользователю выводится информация о возврате, возможность положить изменения в корзину отсутствует
- [ ] После сохранения сумма на лицевом счете увеличивается на сумму возврата
- [ ] На продающем значения параметра и аддона применяются, появляется красная мессага о применении изменений после продления
- [ ] На перепродающем значения параметра и аддона применяются сразу ( Данный пункт вызывает у меня сомнения см.Сценарий 5)
#### Негативные сценарии
*Сценарий 1. Неуспешная оплата аддона с помощью нереккурентного метода оплаты с редиректом (через модалку)*
*Условие:* У пользователя есть активная лицензия DCI, он повышает аддон и оплачивает его через модалку.
- [ ] Изменения по аддонам не вступают в силу до зачисления платежа и обработки на продающем
- [ ] При возврате из платежки с услугой ничего не происходит, стандартно выводится баннер о не успешном платеже. На продающем изменения не применяются, операции не запускаются.
- [ ] При повторном открытии услуги на редактирование все значения аддонов остаются прежними
*Сценарий 2. Неуспешная оплата аддона у остановленной услуги с помощью реккурентного метода оплаты (через корзину)*
*Условие:* У пользователя есть остановленая лицензия VM6, он повышает аддон 4 и оплачивает его через корзину при помощи реккурентного МО.
- [ ] В корзину вместе с аддоном добавляется продление (плашки добавления и информация в корзине выводятся корректно)
- [ ] Методы оплаты в корзине не фильтуются на реккуренты (как в случае активного автопродления при покупке услуги)
- [ ] В процессе совершения оплаты пользователю выводится галка `Сохранить способ оплаты`
- [ ] Если пользователь выбирает сохранение СО, то по возврату из платежки ССО не создается
- [ ] Если пользователь не выбирает сохранение, то по возврату из платежки ССО не создается
- [ ] При возврате из платежки с услугой ничего не происходит, она остается в статусе Остановлен, стандартно выводится баннер о не успешном платеже
- [ ] На продающем изменения не применяются, операции не запускаются.
- [ ] При повторном открытии услуги на редактирование все значения аддонов остаются прежними.
*Сценарий 3. Неуспешная оплата аддона с помощью ССО(через корзину)*
*Условие:* У пользователя есть активная лицензия VM6, он повышает аддон 1 и меняет значение параметра `Комментарий к лицензии` , оплачивает его через корзину.
- [ ] Аддон корректно кладется в корзину, изменения по параметру сохраняются сразу
- [ ] Изменения по аддону не вступают в силу до зачисления платежа в том числе и на продающем
- [ ] При возврате из платежки с услугой ничего не происходит, стандартно выводится баннер о не успешном платеже
- [ ] ССО переходит в статус `Не работает`
- [ ] При повторном открытии услуги на редактирование все значения аддонов остаются прежними, параметр измененный.
- [ ] На продающем значения аддонов не изменяются
*Сценарий 4. Понижение аддона(тип 1) на значение ниже используемого ресурса*
*Условие:* У пользователя есть активная лицензия VM6, он понижает аддон на значение ниже используемого. Политика отказа в тарифе: возврат средств.
- [ ] Пользователю выводится информация о возврате, возможность положить изменения в корзину отсутствует
- [ ] После сохранения запускается текущая операция на продающем,она падает с ошибкой
- [ ] Значения аддонов не изменяются, возврат не происходит
*Сценарий 5. Понижение аддона(тип 4) на значение ниже используемого ресурса*
*Условие:* У пользователя есть активная лицензия DCI, он понижает аддон на значение ниже используемого. Политика отказа в тарифе: без возврата средств.
- [ ] Пользователю НЕ выводится информация о возврате, возможность положить изменения в корзину отсутствует
- [ ] После сохранения запускается текущая операция на продающем,она падает с ошибкой
- [ ] Значения аддонов не изменяются
## SSL-сертификаты
**Для альтернытивных имен учитываем только тип значения аддона альтернативные имена - целое число, по ближайшему значению шкалы значений (слайдер)! Другие типы аддонов не рассматриваем.**
**Обычный SSL-сертификат**
- [ ] Выпуск
- [ ] Галка `Быстрый заказ` игнорируется. Заказ всегда реализуется **быстрым** способом
- [ ] Покупка и оформление проходит успешно
- [ ] Если платеж не зачислен - услуга остается в статусе `Оплачивается`, но ее можно оформить. После оформления и зачисления услуга уходит в обработку.
- [ ] Если платеж не зачислен - услуга остается в статусе `Завершите настройку` и ее можно оформить. После оформления услуга уходит в обработку.
**Мультидоменный SSL-сертификат**
- [ ] Выпуск
- [ ] Галка `Быстрый заказ` игнорируется. Заказ всегда реализуется **обычным** способом
- [ ] В списке тарифных планов отсутствует кнопка `в корзину`
- [ ] Кнопка `Купить` переименована в кнопку `Оформить заказ`
- [ ] По клику на `Оформить заказ` открывается страница оформления SSL-сертификата
**Если альтернативные методы подтверждения не доступны**
- [ ] **Пользователь генерирует запрос с нуля**
- [ ] Добавление дополнительных доменов.
- [ ] Под полем ввода домена выводится кнопка `Еще домен`
- [ ] Количество включенных в тариф доменов не выводится
- [ ] По мере добавления доменных имен при превышении порога включенных в тариф доменов появляется стоимость доп.домена (есть косяк не забыть про него bc-1592)
- [ ] Кнопка `Оплатить n $ с лицевого счета` рядом с полем ввода доменов отсутствует
- [ ] Когда достигнут порог максимального значения кнопка `Добавить еще` исчезает
- [ ] Внизу страницы выводится конечная сумма дополнительных доменов. Мессага вида: `71.50€ за 4 дополнительных домена`. Сумма увеличивается/уменьшается по мере добавления/удаления доп.доменов
- [ ] Кнопка `оплатить с лицевого счета отсутствует`
- [ ] Внизу страницы выводится кнопка `Продолжить`
- [ ] Если не все обязательные поля заполнены, то по клику срабатывает валидация
- [ ] Если присутствуют поля заполненные с ошибкой, то по клику срабатывает валидация
- [ ] Если все поля заполнены корректно, то по клику происходит переход на 2й шаг визарда
- [ ] Рядом с кнопкой `Продолжить` выводится кнопка `продолжить без дополнительных доменов`
- [ ] Если не все поля заполнены, то по клику срабатывает валидация
- [ ] Если присутствуют поля заполненные с ошибкой, то по клику срабатывает валидация
- [ ] Если все поля заполнены корректно, то по клику происходит переход на 2й шаг визарда
*Далее шаги визарда у обычных и мультидоменных отличаются, проверяем на мульти*
- [ ] На 2м шаге визарда корректно выводится секретный ключ сертификата
- [ ] Выводится чек-бокс `Не сохранять ключ в системе`
- [ ] Сообщение о сохранении секретного ключа выводится алертным цветом и изменяется динамически в соответствии с выставлением/удалением чек-бокса
- [ ] Кнопка`Назад` по клику на которую пользователь попадает на 1й шаг визарда
- [ ] Кнопка`Продолжить` по клику на которую пользователь попадает на 3й шаг визарда с контактными данными
- [ ] Поля для административного и технического контакта выводятся корректно
- [ ] Кнопка`Назад` по клику на которую пользователь попадает на 2й шаг визарда
- [ ] Кнопка`Продолжить`
- [ ] Если не все поля заполнены, то по клику срабатывает валидация
- [ ] Если присутствуют поля заполненные с ошибкой, то по клику срабатывает валидация
- [ ] Если все поля заполнены корректно, то по клику происходит переход на 4й шаг визарда подтверждения домена
- [ ] На 4м шаге выводятся домены, указанные на 1м и наборы email-ов для них
- [ ] Кнопка`Назад` по клику на которую пользователь попадает на 3й шаг визарда
- [ ] Кнопка`Продолжить` по клику на которую пользователь попадает на 5й шаг визарда
- [ ] На 5м шаге выводится компонент автопродления с периодами в соответствии с тарифным планом
- [ ] Слайдер с альтернативными именами не выводится
- [ ] Выводится сумма к оплате
- [ ] Выводится информация о дополнительных доменах и их стоимости
- [ ] Выводится кнопка `Оплатить`
- [ ] По клику на кнопку открывается модалка с методами оплаты.
Заголовок вида: `Оплата Comodo Positive Multi-Domain `
- [ ] В модалке не выводится компонент выбора периода
- [ ] Если пользователь выбрал лицевой счет, то по клику на кнопку Оплатить показываем зеленый баннер, с текстом вида: `Вашa услуга Comodo Positive Multi-Domain #id успешно оплачена, спасибо!`
- [ ] Пользователь попадает на страницу завершения оформления, услуга уходит в обработку.
- [ ] Если пользователь выбрал Банковский перевод, то по клику на кнопку Оплатить перекидываем на страницу создания/выбора плательщика. После выбора плательщика пользователю выставляется счет.
- [ ] После того как счет оплачен услуга успешно уходит в обработку, с набором доменов указанных на 1м шаге.
- [ ] Если пользователь выбрал метод оплаты, требующий редирект , то по клику на кнопку Оплатить он попадает в платежку
- [ ] Если платеж прошел успешно, при возврате в биллинг пользователь попадет на страницу завершения оформления. Показываем зеленый баннер: `текст` @e.sumbaev
- [ ] Если платеж прошел не успешно, при возврате в биллинг пользователь попадет на страницу завершения оформления сертификата
- [ ] Выводится кнопка `в корзину`
- [ ] По клику услуга попадает в корзину.
- [ ] В плашке выводится информация об услуге и альтернативных именах
*Оплата из корзины*
- [ ] Если в корзине нет ничего кроме SSL-сертификата, то поведение описанное для обычной оплаты сохраняется.
- [ ] Если в корзине есть еще услуги, то после успешной оплаты пользователь попадает в раздел История заказа. Поведение остается прежним.
- [ ] **Если пользователь указывает существующий запрос**
<details> <summary>Пример существующего csr приготится при тестировании</summary>
-----BEGIN CERTIFICATE REQUEST-----
MIIClTCCA 0CAQAwUDELMAkGA1UEBhMCQUw EzARBgNVBAMMCmdmaGZnaC5nZ2c
DDAKBgNVBAcMA0ZkZzEOMAwGA1UECgwFZmdkZmc DjAMBgNVBAgMBUZnZGZnMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvK5aWiBhT6k9GZvfTBK07MuA
nBH3FuLe2hL1TyoZVtPfZ8yccs7Z fhJKkUqlK cBuMFCqupbHcSYS/jL95l1iPF
BeR8fhW2eqaFSQ3qoq Ud4P TSnC7aCHuOuFc24T h7Cbu4uo8MHCCc 0C/lTEN7
1brgj+nSpVjUfqrlohBKTbwWgVgGpsutm2n8REDg5QtuCwN5ArT6d4e BaAcjPA
V5MZ8E08IuTEhzLL0+DfVeTi15RSRWN8lSuSlOSIP+DllF6EuwC+fUYdJuvVFtq7
9 y7bIRfjKg65TRZehS ELSPJSVVz4Jb1l6hJ8 kKqG /2Mfbu6Gn0UYCqlM2wID
AQABoAAwDQYJKoZIhvcNAQELBQADggEBALaFG CdRE6EHtw0WP1 hdBB3DofJsLm
flHAsFq20f 6YY96nBPmpiOuM 6WuwUp0S81rhp2Vzj+pswWP+vd ld/csHcn7u4
vKiCWiI/HIrrw1PmqO24NtodJRRrd7/HPUnq9/ RF+5ev7mFtoFE/YD /21V iuT
4OcBwZTTfmHLh5L8DL0ASkg7+k6I8WhpBYuPT/2kBYRN/j6JwRCVlTy4kScdNdZV
u2LQjU37z 5u+dRyNc06r9MsNBlKylVHanogkwE/2zjKeLQnZFvFPi6ZTE2iLd
hb+/V9ky3 GFfj3O6BdfDujh1HqK0gC hynTWtueT BlDWu0rKc5Tbw=
-----END CERTIFICATE REQUEST-----
</details>
- [ ] При указании запроса поля 1го шага заполняются автоматически
- [ ] Логика добавления дополнительных доменов остается такой же как и при заполнении всех полей вручную.
- [ ] Прохождение последующих шагов идентично при заполнении всех полей вручную на первом шаге
- [ ] Оплата проходит успешно, услуга обрабатывается.
**Если доступны альтернативные методы подтверждения**
- [ ] На 3м шаге оформления сертификата появляется свитчер выбора метода проверки сертификата
- [ ] По Email-адресу
- [ ] По хэш-файлу
- [ ] По записи CNAME DNS
- [ ] Проверить различия мессаг на странице завершения оформления при разных методах (чек-лист есть в задаче bc-661)
- [ ] Проверить что услуга уходит в обработку при выборе разных методов
#### Страница информации (в 6ке)
- [ ] Обычный SSL-сертификат
- [ ] На странице информации сертификата не выводится информация о дополнительных доменах
- [ ] Кнопка `Увеличить количество доменов` отсутствует
- [ ] Мультидоменный SSL-сертификат
- [ ] Если по настройкам тарифа имеется возможность увеличения количества доменов и пользователь не достиг максимального значения (политики: изменение разрешено и только повышение)
- [ ] Если статус услуги позволяет добавить домены кнопка `Увеличить количество доменов` доступна.
- [ ] Активен
- [ ] Остановлен (за неуплату)
- [ ] Остановлен (администратором)
- [ ] Если статус услуги не позволяет добавить домены кнопка `Увеличить количество доменов` задизейблена.
- [ ] В обработке
- [ ] Удаляется
- [ ] Оплачивается
- [ ] В корзине
- [ ] Продлевается
- [ ] Если по настройкам тарифа имеется возможность увеличения количества доменов и пользователь достиг максимального значения (политики: изменение разрешено и только повышение)
- [ ] Мессага `Вы можете указать еще n дополнительных домена при перевыпуске сертификта`присутствует
- [ ] Кнопка `Увеличить количество доменов` отсутствует
- [ ] Если по настройкам тарифа отсутствует возможность увеличения/уменьшения количества доменов (политика: изменение запрещено)
- [ ] Если у услуги есть купленные, но не использованные домены, то мессага `Вы можете указать еще n дополнительных домена при перевыпуске сертификта`присутствует
- [ ] Если у услуги не купленных, но не использованных доменов, то мессага `Вы можете указать еще n дополнительных домена при перевыпуске сертификта`отсутствует
- [ ] Кнопка `Увеличить количество доменов` отсутствует
- [ ] Если по настройкам тарифа отсутствует возможность увеличения количества доменов (политика: только понижение)
- [ ] Если у услуги есть купленные, но не использованные домены, то мессага `Вы можете указать еще n дополнительных домена при перевыпуске сертификта`присутствует
- [ ] Если у услуги не купленных, но не использованных доменов, то мессага `Вы можете указать еще n дополнительных домена при перевыпуске сертификта`отсутствует
- [ ] Кнопка `Увеличить количество доменов` отсутствует
**Поведение кнопки `Увеличить количество доменов`**
- [ ] По клику на кнопку открывается бабл
- [ ] Заголовок `Увеличить количество доменов` и текст:`Указать дополнительные домены можно при перевыпуске сертификата`
- [ ] Поле со слайдером `Альтернативные имена`
- [ ] Значение по умолчанию соответствует количеству дополнительных доменов у услуги
- [ ] Меньше значения по умолчанию указать нельзя.
- [ ] Слайдер нельзя подвинуть в меньшую сторону
- [ ] При вводе меньшего значения в поле, оно сбрасывается до значения по умолчанию
- [ ] Рядом с полем `Альтернативные имена` выводится подсказка о стоимости.
- [ ] Выводимая стоимость соответствует настройкам в админке
- [ ] Выводимый период соответствует периоду услуги
- [ ] Выводится кнопка `Оплатить`, по умолчанию задизейблена
- [ ] При увеличении значения доп.доменов кнопка становится активна, появляется кнопка `в корзину`
- [ ] В кнопке выводится сумма к оплате. По мере увеличения/уменьшения доп.домена увеличивается/уменьшается соответственно
- [ ] При уменьшении значения доп.домена до значения по умолчанию кнопка дизейблится
- [ ] Если на аддон назначена 100% скидка или стоимость = 0
- [ ] Кнопку оплатить меняем на синюю кнопку "Применить"
- [ ] Кнопку "в корзину" не показываем
- [ ] По клику на кнопку "Применить" показываем зеленый баннер : `Дополнительные домены успешно добавлены`.
- [ ] По клику на кнопку `В корзину`
- [ ] Дополнительные домены кладутся в корзину
- [ ] По клику на кнопку `Оплатить`
- [ ] Если пользователь выбрал лицевой счет, то по клику на кнопку Оплатить показываем зеленый баннер: `Дополнительные домены успешно оплачены`. Пользователь остается на странице информации.
- [ ] Если пользователь выбрал Банковский перевод, то по клику на кнопку Оплатить перекидываем на страницу создания/выбора плательщика. После выбора плательщика пользователю выставляется счет.
- [ ] Если пользователь выбрал метод оплаты, требующий редирект , то по клику на кнопку Оплатить он попадает в платежку
- [ ] Если платеж прошел успешно, при возврате в биллинг пользователь попадет в карточку услуги. Показываем зеленый баннер:
`Дополнительные домены успешно оплачены`
- [ ] Если платеж прошел не успешно, при возврате в биллинг пользователь попадет на ту же страницу.
- [ ] После оплаты доп.доменов число в мессаге `Вы можете указать еще n дополнительных домена при перевыпуске сертификта` увеличивается
#### Покупка дополнительных доменов (в 5ке)
- [ ] Для мультидоменного сертификата на форме редактирования выводится аддон `альтернативные имена`
- [ ] Макс и мин соответствует настройкам тарифа
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по лимитам)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - значение можно менять только в большую сторону
- [ ] Только понижение - значение можно менять только в меньшую сторону
- [ ] При увеличении аддона появляется возможность добавления в корзину
- [ ] При успешной оплате количество аддонов увеличивается, докупленный домен можно указать при перевыпуске
- [ ] Проверить оплату через ЛС
- [ ] Проверить оплату через реккурентный МО с сохранением. Убедиться что ССО не привязывается к услуге
- [ ] Проверить оплату через нереккурентный МО
- [ ] Проверить оплату через ССО. Убедиться что ССО не привязывается к услуге
- [ ] При неуспешной оплате количество аддонов не увеличивается, при перевыпуске количество доменов, доступных для указания не увеличивается
- [ ] Проверить оплату через ЛС
- [ ] Проверить оплату через реккурентный МО с сохранением. Убедиться что ССО не создается
- [ ] Проверить оплату через нереккурентный МО
- [ ] Проверить оплату через ССО. Убедиться что ССО переходит в статус `Не работает`
- [ ] При уменьшении аддона
- [ ] С возвратом - выводится информация о возврате, сумма на ЛС увеличивается
- [ ] Без возврата - информация о возврате отсутствует, сумма на ЛС не увеличивается
- [ ] При перевыпуске с изменением списка доменов доступно выбранное количество доменов
#### Перевыпуск
Проверить процесс перевыпуска для случаев:
- [ ] **Если не доступны альтернативные методы подтверждения**
- [ ] **Если доступны альтернативные методы подтверждения**
- [ ] **Со старыми значениями**
- [ ] **Если пользователь указывает существующий запрос**
- [ ] **Если пользователь изменяет список доменов**
- [ ] Убедиться что количество возможных к добавлению доменов соответствует количеству доменов в услуге.
## Домены
**Рассматриваем только тип аддона логическое да/нет (Защита данных), иные варианты не рассматриваем.**
### Проверки доступности изменения аддонов
- [ ] Редактирование аддонов доступно для услуг в статусах:
- [ ] Активен
- [ ] Завершите настройку (на последнем шаге визарда, но аддон [пользователь получает бесплатно](https://youtrack.ispsystem.net/issue/bc-1866))
- [ ] Остановлен (по любой причине)
- [ ] Регистрируется
- [ ] Продлевается - вопреки общей логике
- [ ] Редактирование аддонов не доступно для услуг в статусах:
- [ ] В корзине
- [ ] Оплачивается (аддон не выводится)
- [ ] В обработке (дизейблится)
- [ ] Удаляется
- [ ] Отключение
- [ ] Включение
- [ ] Трансфер (дизейблится)
### Проверки поведения аддонов на форме редактирования в зависимости от настроек изменения ресурса после зазказа
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено аддон нельзя менять
- [ ] Только повышение - можно только согласиться, потом чек-бокс дизейблится в выбранном состоянии
- [ ] Только понижение - можно только отказаться, потом чек-бокс дизейблится в не выбранном состоянии
### Покупка/возврат аддона
- [ ] Если пользователь повышает аддон(устанавливает чек-бокс)
- [ ] Появляется блок `к оплате`
- [ ] По клику на`отмена` все изменения сбрасываются
- [ ] По клику на`Оплатить` открывается модалка оплаты со всеми доступными МО
- [ ] По клику на`в корзину` изменение по аддону кладется в корзину
- [ ] Если пользователь понижает аддон(убирает чек-бокс)
- [ ] Политика отказа в тарифе: возврат средств. Появляется информация о возврате.
- [ ] Возможность положить изменения в корзину отсутствует
- [ ] После сохранения сумма на лицевом счете увеличивается на сумму возврата
- [ ] Политика отказа в тарифе: без возврата средств. Информация о возврате не появляется.
- [ ] Возможность положить изменения в корзину отсутствует
- [ ] После сохранения сумма на лицевом счете не изменяется
### Пользовательские сценарии
*Сценарий 1. Успешная оплата аддона с ЛС (через модалку)*
*Условие:* У пользователя есть активный домен, он докупает защиту данных, оплачивая изменения при помощи модалки, используя лицевой счет.
*Ожидание:*
- [ ] При оплате изменения сразу вступают в силу
- [ ] Пользователь остается в карточке, выводится зеленый баннер об успешной оплате параметров
- [ ] Чек об оплате выставляется корректно
*Сценарий 2. Успешная оплата аддона с помощью нереккурентного метода оплаты с редиректом (через корзину)*
*Условие:* У пользователя есть остановленный домен, он кладет в корзину защиту данных и оплачивает при помощи нереккурентного МО с редиректом.
*Ожидание:*
- [ ] В корзину вместе с аддоном добавляется продление (плашки добавления и информация в корзине выводятся корректно. [Есть задача на это](https://youtrack.ispsystem.net/issue/bc-1834))
- [ ] По возврату из платежки редирект в список
- [ ] Услуга продлевается, а изменения по аддону вступают в силу после зачисления платежа
*Сценарий 3. Неуспешная оплата аддона с помощью нереккурентного метода оплаты с редиректом*
*Условие:* У пользователя есть активный домен, он докупает защиту данных, оплачивая изменения при помощи модалки, используя нереккурентный МО с редиректом
*Ожидание:*
- [ ] Изменения по аддонам не вступают в силу до зачисления платежа
- [ ] При возврате из платежки с услугой ничего не происходит, стандартно выводится баннер о не успешном платеже
- [ ] При повторном открытии услуги на редактирование значение аддона остается прежним.
## Виртуальные серверы(VDS) проверяем в 6ке
Существующие проблемы:
https://youtrack.ispsystem.net/issue/bc-1854
https://youtrack.ispsystem.net/issue/bc-1841
**Для данного типа продукта проводим проверки только на аддонах следующих типов:**
**1. Целое число по ближайшему значению:**
- Дисковое пространство
- Оперативая память
- Количество процессоров
- Процессор
- IP-адреса (IPv4, IPv6)
**6. Перечисление:**
- ОС (с особенностями)
- Лицензия на панель управления
- Серверы имен
### Проверки доступности изменения аддонов
- [ ] Редактирование аддонов доступно для услуг в статусах:
- [ ] В корзине
- [ ] Активен
- [ ] Завершите настройку
- [ ] Остановлен (по любой причине)
- [ ] Редактирование аддонов не доступно для услуг в статусах:
- [ ] Нет в наличии
- [ ] Обрабатывается (любая текущая операция)
- [ ] Отключение
- [ ] Включение
### Проверки поведения аддонов в зависимости от настроек изменения ресурса после зазказа
- [ ] 1. Тип значения - целое число, по ближайшему значению шкалы значений (слайдер)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по лимитам)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - значение можно менять только в большую сторону
- [ ] Только понижение - значение можно менять только в меньшую сторону
- [ ] 2. Тип значения - целое число, за каждый шаг шкалы значений (слайдер)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по лимитам)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - значение можно менять только в большую сторону
- [ ] Только понижение - значение можно менять только в меньшую сторону
- [ ] 3. Тип значения - целое число, с использованием пакетов значений (дропдаун)
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - аддон доступен к изменению, все пакеты доступны
- [ ] Только понижение - значение аддона нельзя менять, все пакеты недоступны
- [ ] 4. Тип значения - целое число, с использованием вариантов значений (дропдаун)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по значениям)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - в списке доступных значений есть только те, которые по значению выше текущего. Если выбрано самое высокое по значению - в списке доступно только оно
- [ ] Только понижение - в списке доступных значений есть только те, которые по значению ниже текущего. Если выбрано самое низкое по значению - в списке доступно только оно
- [ ] 5. Тип значения - логическое значение (чек-бокс)
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено - значение аддона нельзя менять. Чек-бокс ридонли
- [ ] Только повышение - можно только согласиться, потом чек-бокс дизейблится в выбранном состоянии
- [ ] Только понижение - можно только отказаться, потом чек-бокс дизейблится в не выбранном состоянии
- [ ] 6. Тип значения - перечисление.
- [ ] 6.1 Тип отображения - выпадающий список. Перечисления выводятся в виде выпадающего списка.
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону - все пункты доступны)
- [ ] Изменение запрещено. Выпадающий список задизейблен на выбранном перечислении - значение аддона нельзя менять.
- [ ] Только повышение - в списке доступных значений есть только те, которые по сортировке выше текущего. Если выбрано самое высокое по сортировке - в списке доступно только оно.
- [ ] Только понижение - в списке доступных значений есть только те, которые по сортировке ниже текущего. Если выбрано самое низкое по сортировке - в списке доступно только оно.
- [ ] 6.2 Тип отображения - элемент выбора. Перечисления выводятся в виде радиобаттонов.
- [ ] Если вариантов перечислений <= 5 то выводятся только радиобаттоны
- [ ] Если вариантов перечислений > 5 то выводятся 4 радиобатонна и кнопка `другое` по клику на которую открывается выпадающий список со всеми оставшимися перечислениями
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону)
- [ ] Изменение запрещено - значение аддона нельзя менять.
- [ ] Только повышение - в списке доступных значений есть только те, которые по сортировке выше текущего. Если выбрано самое высокое по сортировке - выводится один радиобаттон с этим значением
- [ ] Только понижение - в списке доступных значений есть только те, которые по сортировке ниже текущего. Если выбрано самое низкое по сортировке - выводится один радиобаттон с этим значением
- [ ] 6.3 Тип отображения - переключатель.
- [ ] Если значений <= 3, то аддон выводится в виде свитчера.
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону - по сортировке)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - в списке доступных значений есть только те, которые по сортировке выше текущего. Если выбрано самое высокое по сортировке - в списке доступно только оно
- [ ] Только понижение - в списке доступных значений есть только те, которые по сортировке ниже текущего. Если выбрано самое низкое по сортировке
- [ ] Если значений > 3, то аддон выводится в виде дропдауна(выпадающего списка). (Сейчас так не работает [bc-1851](https://youtrack.ispsystem.net/issue/bc-1851)) <font color="red"> Поведение дропдауна при разных политиках описано в пункте 6.2, повторно проводить проверку не нужно.</font>
- [ ] 7. Тип значения - выбирается клиентом.
- [ ] 7.1 Тип отображения - выпадающий список. Перечисления выводятся в виде выпадающего списка.
- [ ] 7.2 Тип отображения - элемент выбора. Перечисления выводятся в виде радиобаттонов.
- [ ] 7.3 Тип отображения - переключатель.
- [ ] Если значений <= 3, то аддон выводится в виде свитчера.
- [ ] Если значений > 3, то аддон выводится в виде дропдауна(выпадающего списка). (Сейчас так не работает [bc-1851](https://youtrack.ispsystem.net/issue/bc-1851))
*Проверить на любом из типов отображения:*
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - в списке доступных значений есть только те, которые по значению выше текущего (по сортировке). Если выбрано самое высокое по значению - доступно только оно
- [ ] Только понижение - в списке доступных значений есть только те, которые по значению ниже текущего(по сортировке). Если выбрано самое низкое по значению - доступно только оно
- [ ] 8. Особенный аддон - Операционная система. (тоже самое поведение как и для `Лицензии на панель управления` - это и аддон и параметр).<font color="red"> В текущем develop политики изменения ресурсов после заказа не работают для ОС, работают для `Лицензии на панель управления`.</font>
- [ ] Изменение разрешено - ОС можно изменять как с бесплатной на платную, так и наоборот.
- [ ] Изменение запрещено - значение аддона нельзя менять вне зависимости от статуса услуги.
- [ ] Только повышение - в списке доступных значений есть только те, что выше по сортировке текущего
- [ ] Только понижение - в списке доступных значений есть только те, что ниже по сортировке текущего
- [ ] 9. Особенный аддон - IP-адреса.
- [ ] Если в тарифе только один аддон (IPv4)
- [ ] Изменение разрешено - IP можно повысить/понизить из трех мест:
- [ ] Раздел IP-адреса в меню карточки слева. Кнопка `Добавить IP-адрес` доступна. Для уже заказанных IP доступно удаление.(кроме основного, у основого пункт меню `Удалить` дизейблится)
- [ ] Страница конфигурации. В слайдере можно менять значение как в большую так и в меньшую сторону.
- [ ] Страница информации. Под списком IP-адресов выводится кнопка добавить IP-адрес. По клику открывается модалка добавления.
- [ ] Изменение запрещено - значение аддона нельзя менять.
- [ ] Раздел IP-адреса в меню карточки слева. Кнопка `Добавить IP-адрес` задизейблена. Для уже заказанных IP пункт меню `Удалить` дизейблится. Групповая операция удаления так же не доступна.
- [ ] Страница конфигурации. В слайдере значение менять нельзя.
- [ ] Страница информации. Под списком IP-адресов НЕ выводится кнопка добавить IP-адрес.
- [ ] Только повышение - количество IP можно только увеличить.
- [ ] Раздел IP-адреса в меню карточки слева. Кнопка `Добавить IP-адрес` доступна, кнопка `Удалить` дизейблится.
- [ ] Страница конфигурации. В слайдере минимальное значение = текущему, можно только увеличить.
- [ ] Страница информации. Под списком IP-адресов выводится кнопка добавить IP-адрес. По клику открывается модалка добавления.
- [ ] Только понижение - количество IP можно только уменьшить.
- [ ] Раздел IP-адреса в меню карточки слева. Кнопка `Добавить IP-адрес` задизейблена. Для уже заказанных IP доступно удаление.(кроме основного, у основого пункт меню `Удалить` дизейблится)
- [ ] Страница конфигурации. В слайдере максимальное значение = текущему, можно только уменьшить.
- [ ] Страница информации. Под списком IP-адресов НЕ выводится кнопка добавить IP-адрес.
- [ ] Если в тарифе два аддона: IPv4 и IPv6. Для IPv4 - изменение разрешено, а для IPv6 меняем политики для проверки поведения.
- [ ] Изменение разрешено - IP можно повысить/понизить из двух мест:
- [ ] Раздел IP-адреса в меню карточки слева. Кнопка `Добавить IP-адрес` доступна, внутри модалки выводится свитчер с выбором типа IP. Для уже заказанных IP доступно удаление (кроме основного, у основого пункт меню `Удалить` дизейблится)
- [ ] Страница конфигурации. Выводятся два слайдера для каждого аддона. Оба можно менять как в большую так и в меньшую сторону.
- [ ] Страница информации. Под списком IP-адресов выводится кнопка добавить IP-адрес. По клику открывается модалка добавления с выбором типа ip.
- [ ] Изменение запрещено - значение аддона IPv6 нельзя менять.
- [ ] Раздел IP-адреса в меню карточки слева. Кнопки заказать доступна, тип только IPv4. Кнока удалить не доступна для IPv6, доступна для IPv4 (кроме основного).
- [ ] Страница конфигурации. В слайдере IPv6 значение менять нельзя.
- [ ] Страница информации. Под списком IP-адресов выводится кнопка добавить IP-адрес. По клику открывается модалка добавления с возможностью добавить только IPv4
- [ ] Только повышение - количество IP можно только увеличить.
- [ ] Раздел IP-адреса в меню карточки слева. Кнопка заказать доступна, доступен выбор типа IP. Кнопка удалить не доступна только для IPv6, для IPv4 доступна. При групповой операции удаления - удаляются только IPv4.
- [ ] Страница конфигурации. В слайдере IPv6 минимальное значение = текущему, можно только увеличить.
- [ ] Страница информации. Под списком IP-адресов выводится кнопка добавить IP-адрес. По клику открывается модалка добавления с выбором типа ip.
- [ ] Только понижение - количество IP можно только уменьшить.
- [ ] Раздел IP-адреса в меню карточки слева. Кнопка удалить доступна для всех типов IP (кроме основного, у основого пункт меню `Удалить` дизейблится). Кнопка заказать доступна, тип только IPv4.
- [ ] Страница конфигурации. В слайдере IPv6 максимальное значение = текущему, можно только уменьшить.
- [ ] Страница информации. Под списком IP-адресов выводится кнопка добавить IP-адрес. По клику открывается модалка добавления с возможностью добавить только IPv4
### Проверки страницы конфигурации при изменении аддона
- [ ] При редактировании виртуалки в разделе конфигурации
- [ ] Правая панель отражающая параметры - отсутствует
- [ ] Выводится нижний блок с кнопкой `Сохранить` по умолчанию
- [ ] При повышении аддонов нижняя панель изменяет свое состояние
- [ ] Кнопка `Сохранить` заменяется на `Оплатить изменения`
- [ ] Появляется блок "к оплате" (кнопки оплатить изменения, в корзину, отмена, подробнее)
- [ ] По клику на `Оплатить изменения` открывается модалка оплаты
- [ ] По клику на `В корзину` изменения кладутся в корзину.
- [ ] Плашка отображается корректно.
- [ ] Изменения не вступают в силу до зачисления платежа - т.е на форме остаются старые значения. **Обратить внимание на плитки ОС**
- [ ] Кнопка Отмена сбрасывает все изменения (по аддонам, по параметрам) внесенные пользователем
- [ ] По клику на `подробнее` открывается дропдаун, информация о изменениях корректна
- [ ] При внесении бесплатных изменений нижняя панель не изменяет свое состояние. При сохранении изменения сразу вступают в силу
- [ ] При внесении изменений с возвратом нижняя панель не изменяет свое состояние, выводится информация о возврате
### Раздел IP-адреса. Добавление IP.
- [ ] Если в тарифный план включено больше чем используется сейчас - пользователь может добавить ip бесплатно.
- [ ] Кнопка добавить IP доступна, по клику открывается модалка
- [ ] Возможность добавить в корзину и оплатить отсутствует, выводится кнопка `Актвировать`
- [ ] Лимиты соответствуют настройкам тарифа
- [ ] Если пользователь увеличивает количество ip в слайдере и они становятся платными - кнопки обновляются, появляется `Оплатить` и `в корзину`. При уменьшении до бесплатных кнопки обновляются и меняются на `Актвировать`
- [ ] При вводе некорректного домена по клику на кнопку `Актвировать` срабатывает вадидация
- [ ] При успешной активации пользователь остается в карточке, список обновляется с новыми ip, запускается операция на добавление ip,выводится зеленый баннер
- [ ] Если пользователь использовал все включенные и по тарифу есть возможность докупить - пользователь может докупить ip.
- [ ] Кнопка добавить IP доступна, по клику открывается модалка
- [ ] Появилась возможность добавить в корзину и оплатить: кнопки `Оплатить` и `в корзину`
- [ ] При вводе некорректного домена по клику на кнопку `Оплатить` срабатывает вадидация
- [ ] При вводе корректного домена по клику на кнопку `Оплатить` открывается модалка оплаты
- [ ] При Оплате с ЛС пользователь остается в карточке, запускается операция на добавление ip, список обновляется с новыми ip. Выводится зеленый баннер.
- [ ] При успешной Оплате с МО с редиректом пользователь возвращается в карточку, запускается операция на добавление ip, список обновляется с новыми ip. Выводится зеленый баннер.
- [ ] При не успешной Оплате с МО с редиректом пользователь возвращается в карточку, операция на добавление ip не запускается, ip в списке не появляется. Выводится желтый баннер о неуспешной оплате.
- [ ] При вводе некорректного домена по клику на кнопку `в корзину` срабатывает вадидация
- [ ] При вводе корректного домена по клику на кнопку `в корзину` выбранное количество ip кладутся в корзину, выводится плашка. Список не обновляет, ip в нем не появляются.
- [ ] Если пользователь использовал все доступные по тарфу IP - возможность добавления отсуствует. Кнопка добавить IP - дизейблится.
### Пользовательские сценарии
*Первоначальное условие проверок:*
На сервере есть тарифный план с обработчиком VMmanager. У пользователя есть приобретенные услуги по данному тарифу: активная и остановленная.
<font color="red">Возможно понадобится дополнительно расписать и провести проверки с учетом галочек о перезагрузке сервера https://youtrack.ispsystem.net/issue/UX-1598. Но первоначально необходимо выяснить в каких случаях они появляются</font>
#### Позитивные сценарии
*Сценарий 1. Успешная оплата аддона с ЛС (через модалку)*
*Условие:* У пользователя есть активный виртуальный сервер. Он изменяет ОС с бесплатной на платную и увеличивает количество оперативной памяти.
*Ожидание:*
- [ ] При оплате изменения сразу вступают в силу, текущие операции на изменения параметров запускаются
- [ ] Чек об оплате выставляется корректно, содержит в себе 2 позиции соответствующие изменяемым аддонам
*Сценарий 2. Успешная оплата аддона при помощи МО с редиректом (через корзину)*
*Условие:* У пользователя есть остановленный за неуплату виртуальный сервер. Он изменяет ОС с одной бесплатной, на другую бесплатную и увеличивает дисковое пространство. Пользователь кладет изменения в корзину и оплачивает любым МО с редиректом.
*Ожидание:*
- [ ] В подробной информации об оплате выводится информация о продлении
- [ ] Изменения по ОС вступают в силу в момент добавления в корзину (убедиться что ОС переустанавливается на виртуалке в VM)
- [ ] Выводятся две плашки добавления в корзину: продление и изменениями по аддону. В корзину кладутся 2 позиции: продление и изменение услуги. Пользователь остается в карточке.
- [ ] Услуга продлевается, а изменения по аддону вступают в силу после зачисления платежа
- [ ] Чек об оплате выставляется корректно, содержит в себе 2 позиции: аддон и продление услуги.
*Сценарий 3. Покупка дополнительных IP из раздела IP-адреса(через модалку)*
*Условие:* У пользователя есть остановленный виртуальный сервер с одним IPv4 адресом. Тариф включает в себя 2 IPv4 бесплатно. Пользователь добавляет еще 2 ip и оплачивает через модалку.
*Ожидание:*
- [ ] В подробной информации об оплате выводится информация о продлении (**сейчас кнопки подоробнее не выводится совсем, необходимо уточнить этот момент у UX**)
- [ ] Стоимость к оплате формируется корректно и состоит из: стоимости за один IPv4 и стоимости продления услуги
- [ ] Услуга продлевается, а ip добавляются после зачисления платежа
- [ ] Чек об оплате выставляется корректно, содержит в себе 2 позиции: ip и продление услуги.
*Сценарий 4. Отказ от аддона с возвратом.*
*Условие:* У пользователя есть активный виртуальный сервер. Он изменяет ОС с платной на бесплатную.
*Ожидание:*
- [ ] Пользователю выводится информация о возврате, возможность положить изменения в корзину отсутствует
- [ ] После сохранения сумма на лицевом счете увеличивается на сумму возврата. ОС изменяется и переустанавливается на сервере. (проверить что хотя бы операция создается)
- [ ] При повторном открытии услуги на редактирование в плитке с ОС новое значение
#### Негативные сценарии
*Сценарий 1. Неуспешная оплата аддона при помощи МО с редиректом (через модалку)*
*Условие:* У пользователя есть активный виртуальный сервер. Он изменяет ОС с бесплатной на платную и увеличивает количество ip на 1. Неудачно оплачивает с помощью МО через модалку
*Ожидание:*
- [ ] При возврате из платежки пользователю выводится банер о неуспешной оплате
- [ ] Значение ОС не изменяется, ОС на сервере не переустанавливается
- [ ] Количество ip не увеличивается, ip в списке не появляется
*Сценарий 2. Неуспешная покупка дополнительных IP из раздела IP-адреса(через модалку)*
*Условие:* У пользователя есть остановленный виртуальный сервер.
*Ожидание:*
- [ ] При возврате из платежки пользователю выводится банер о неуспешной оплате
- [ ] Количество ip не увеличивается, ip в списке не появляется, операции на добавление не создаются
## Выделенные серверы(Dedic) (5ка целиком + шаблоны Gcore!!!, 6ка-визуальщина)
### 5 ка
### Проверки доступности изменения аддонов
- [ ] Редактирование аддонов доступно для услуг в статусах:
- [ ] Заказан
- [ ] Активен
- [ ] Требуется настройка
- [ ] Остановлен (по любой причине)
- [ ] Редактирование аддонов не доступно для услуг в статусах:
- [ ] Нет в наличии
- [ ] Обрабатывается (любая текущая операция)
- [ ] Отключение
- [ ] Включение
### Проверки поведения аддонов в зависимости от настроек изменения ресурса после зазказа
- [ ] 1. Тип значения - целое число, по ближайшему значению шкалы значений (слайдер)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по лимитам)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - значение можно менять только в большую сторону
- [ ] Только понижение - значение можно менять только в меньшую сторону
- [ ] 2. Тип значения - целое число, за каждый шаг шкалы значений (слайдер)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по лимитам)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - значение можно менять только в большую сторону
- [ ] Только понижение - значение можно менять только в меньшую сторону
- [ ] 3. Тип значения - целое число, с использованием пакетов значений (выпадающий список)
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - аддон доступен к изменению, все пакеты доступны
- [ ] Только понижение - значение аддона нельзя менять, все пакеты недоступны
- [ ] 4. Тип значения - целое число, с использованием вариантов значений (выпадающий список)
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону по значениям)
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - в списке доступных значений есть только те, которые по значению выше текущего. Если выбрано самое высокое по значению - в списке доступно только оно
- [ ] Только понижение - в списке доступных значений есть только те, которые по значению ниже текущего. Если выбрано самое низкое по значению - в списке доступно только оно
- [ ] 5. Тип значения - логическое значение (чек-бокс)
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено - значение аддона нельзя менять. Чек-бокс ридонли
- [ ] Только повышение - можно только согласиться, потом чек-бокс дизейблится в выбранном состоянии
- [ ] Только понижение - можно только отказаться, потом чек-бокс дизейблится в не выбранном состоянии
- [ ] 6. Тип значения - перечисление. Тип отображения не важен.
- [ ] Изменение разрешено - аддон доступен к изменению (и в большую, и в меньшую сторону - все пункты доступны)
- [ ] Изменение запрещено. Выпадающий список задизейблен на выбранном перечислении - значение аддона нельзя менять.
- [ ] Только повышение - в списке доступных значений есть только те, которые по сортировке выше текущего. Если выбрано самое высокое по сортировке - в списке доступно только оно.
- [ ] Только понижение - в списке доступных значений есть только те, которые по сортировке ниже текущего. Если выбрано самое низкое по сортировке - в списке доступно только оно.
- [ ] 7. Тип значения - выбирается клиентом. Тип отображения не важен.
- [ ] Изменение разрешено - аддон доступен к изменению
- [ ] Изменение запрещено - значение аддона нельзя менять
- [ ] Только повышение - в списке доступных значений есть только те, которые по значению выше текущего (по сортировке). Если выбрано самое высокое по значению - доступно только оно
- [ ] Только понижение - в списке доступных значений есть только те, которые по значению ниже текущего(по сортировке). Если выбрано самое низкое по значению - доступно только оно
- [ ] 8. Особенный аддон - Операционная система. (тоже самое поведение как и для `Лицензии на панель управления` - это и аддон и параметр).<font color="red"> В текущем develop политики изменения ресурсов после заказа не работают для ОС, работают для `Лицензии на панель управления`.</font>
- [ ] Изменение разрешено - ОС можно изменять как с бесплатной на платную, так и наоборот.
- [ ] Изменение запрещено - значение аддона нельзя менять вне зависимости от статуса услуги.
- [ ] Только повышение - в списке доступных значений есть только те, что выше по сортировке текущего
- [ ] Только понижение - в списке доступных значений есть только те, что ниже по сортировке текущего
- [ ] 9. Особенный аддон - IP-адреса.
- [ ] Если в тарифе только один аддон (IPv4)
- [ ] Изменение разрешено - IP можно повысить/понизить из двух мест:
- [ ] Раздел IP-адреса. Кнопка заказать доступна.Для уже заказанных IP доступно удаление.(кроме основного)
- [ ] Карточка редактирования. В слайдере можно менять значение как в большую так и в меньшую сторону.
- [ ] Изменение запрещено - значение аддона нельзя менять.
- [ ] Раздел IP-адреса. Кнопки заказать и удалить не доступны
- [ ] Карточка редактирования. В слайдере значение менять нельзя.
- [ ] Только повышение - количество IP можно только увеличить.
- [ ] Раздел IP-адреса. Кнопка заказать доступна, кнопка удалить не доступна
- [ ] Карточка редактирования. В слайдере минимальное значение = текущему, можно только увеличить.
- [ ] Только понижение - количество IP можно только уменьшить.
- [ ] Раздел IP-адреса. Кнопка удалить доступна (кроме основного), кнопка заказать не доступна
- [ ] Карточка редактирования. В слайдере максимальное значение = текущему, можно только уменьшить.
- [ ] Если в тарифе два аддона: IPv4 и IPv6. Для IPv4 - изменение разрешено, а для IPv6 меняем политики для проверки поведения.
- [ ] Изменение разрешено - IP можно повысить/понизить из двух мест:
- [ ] Раздел IP-адреса. Кнопка заказать доступна, доступен выбор типа IP. Для уже заказанных IP доступно удаление (кроме основного)
- [ ] Карточка редактирования. Выводятся два слайдера для каждого аддона. Оба можно менять как в большую так и в меньшую сторону.
- [ ] Изменение запрещено - значение аддона IPv6 нельзя менять.
- [ ] Раздел IP-адреса. Кнопки заказать доступна, тип только IPv4. Кнока удалить не доступна для IPv6, доступна для IPv4 (кроме основного).
- [ ] Карточка редактирования. В слайдере IPv6 значение менять нельзя.
- [ ] Только повышение - количество IP можно только увеличить.
- [ ] Раздел IP-адреса. Кнопка заказать доступна, доступен выбор типа IP. Кнопка удалить не доступна для IPv6.
- [ ] Карточка редактирования. В слайдере IPv6 минимальное значение = текущему, можно только увеличить.
- [ ] Только понижение - количество IP можно только уменьшить.
- [ ] Раздел IP-адреса. Кнопка удалить доступна для всех типов IP (Кроме основного). Кнопка заказать доступна, тип только IPv4.
- [ ] Карточка редактирования. В слайдере IPv6 максимальное значение = текущему, можно только уменьшить.
### Форма редактирования услуги при изменении аддона
- [ ] Выделенный сервер Активен
- [ ] При повышении аддонов с оплатой появляется детализация заказа и возможность добавления в корзину
- [ ] При изменении аддонов без оплаты форма не изменяется
- [ ] При изменении аддонов с возвратом появляется информация о возврате
- [ ] Выделенный сервер Заказан
- [ ] При изменении аддонов в большую сторону возможность добавления в корзину не появляется, изменения применяются для услуги и отображаются в детализации в корзине
- [ ] При изменении аддонов в меньшую сторону возможность добавления в корзину не появляется, изменения применяются для услуги и отображаются в детализации в корзине
- [ ] Выделенный сервер Остановлен
- [ ] При повышении аддонов с оплатой появляется детализация заказа и возможность добавления в корзину. К стоимости оплаты аддона прибавляется стоимость продления.
- [ ] При изменении аддонов без оплаты форма не изменяется
- [ ] При изменении аддонов с возвратом **появляется детализация заказа и возможность добавления в корзину изменений. В корзину кладется продление услуги. Стоимость продления учитывает возврат по аддону**. Считаем такое поведение корректным т.к полагаем что если пользователь изменяет аддон, то он хочет использовать услугу и мы предлагаем ее продлить.
### Покупка IP (раздел IP - адреса)
- [ ] При открытии формы добавления IP появляется возможность добавления в корзину
- [ ] Выводится детализация ([Сейчас она не выводится, но должна](https://youtrack.ispsystem.net/issue/ba-3001))
- [ ] Изменения кладутся в корзину
- [ ] При добавлении в корзину 2-х разных видов IP они отображаются в одной позиции `Редактирование дополнений`
- [ ] При добавлении в корзину ip в случае если изменения по ip этого типа уже лежат в корзине - значение в позиции корзины обновляется
- [ ] Ip-адреса появляются в списке после успешной оплаты и зачисления платежа
- [ ] Ip-адреса не появляются в списке если оплата прошла не успешно
### Проверки изменений в корзине при изменении аддона в тарифе
- [ ] При редактировании аддона в тарифе выводится баннер с мессагой: `При изменении конфигурации тарифного плана, из корзин всех клиентов будут удалены услуги заказанные по данному тарифу. Изменение цен не влечет за собой удаление услуг из корзины`
- [ ] Целое по ближайшему значению - ip-адрес
- [ ] Изменение стоимости аддона - стоимость услуги в корзине пересчитывается
- [ ] Изменился тип учета - заказ удаляется из корзины
- [ ] Изменился тип дополнения- заказ удаляется из корзины
- [ ] Изменился тип значения - заказ удаляется из корзины
- [ ] Изменился тип шкалы значений - заказ удаляется из корзины
- [ ] Изменилась политика изменения ресурса после заказа - заказ удаляется из корзины
- [ ] Изменился мин. период заказа - заказ удаляется из корзины
- [ ] Изменилась ручная обработка - заказ удаляется из корзины
- [ ] Изменилось собственное наименование - заказ удаляется из корзины
- [ ] Изменилась единица измерения - заказ удаляется из корзины
- [ ] Изменилось значение включено в тариф - заказ удаляется из корзины
- [ ] Изменился шаг:
- [ ] Шаг изменился так, что заказанное значение может быть получено с этим шагом (но цена изменилась) - заказ удаляется из корзины
- [ ] Шаг изменился так, что заказанное значение НЕ может быть получено с этим шагом - заказ удаляется из корзины
- [ ] Изменилось минимальное значение - заказ удаляется из корзины
- [ ] Изменилось максимальное значение:
- [ ] Если услуга НЕ триальная, и заказанное значение осталось меньше максимального - заказ удаляется из корзины
- [ ] Если услуга НЕ триальная, и заказанное значение стало больше максимального - заказ удаляется из корзины
- [ ] Если услуга триальная, максимум на триале указан, и из тарифа убирают максимум на триале - заказ удаляется из корзины
- [ ] Если услуга триальная, максимум на триале НЕ указан, и указывают максимум на триале - заказ удаляется из корзины
- [ ] Изменился признак предмета расчёта - заказ удаляется из корзины
- [ ] Изменилось описание дополнения - заказ удаляется из корзины
- [ ] Аддон отключили от тарифа - заказ удаляется из корзины
- [ ] Перечисление (жесткий диск)
- [ ] Изменился тип отображения - заказ удаляется из корзины
- [ ] Изменилось тип дополнения - стоимость заказа пересчитывается
- [ ] Изменилось значение по умолчанию - заказ удаляется из корзины
- [ ] Изменилась стоимость при изменении - заказ удаляется из корзины
- [ ] Аддон отключили от тарифа - заказ удаляется из корзины
### Проверки изменений в корзине при изменении аддона в шаблоне (Gcore)
- [ ] Перечисление (ОС)
- [ ] Изменился тип отображения - заказ удаляется из корзины
- [ ] Изменилось тип дополнения - стоимость заказа пересчитывается
- [ ] Изменилось значение по умолчанию - заказ удаляется из корзины
- [ ] Изменилась стоимость при изменении - заказ удаляется из корзины
- [ ] Если тариф отключили от шаблона, то изменения в шаблоне больше не влияют на корзину
- [ ] Целое по ближайшему значению - ip-адрес
- [ ] Изменение стоимости аддона - стоимость услуги в корзине пересчитывается
- [ ] Изменился тип учета - заказ удаляется из корзины
- [ ] Изменился тип значения - заказ удаляется из корзины
- [ ] Изменился тип шкалы значений - заказ удаляется из корзины
- [ ] Изменилась политика изменения ресурса после заказа - заказ удаляется из корзины
- [ ] Изменился мин. период заказа - заказ удаляется из корзины
- [ ] Изменилась ручная обработка - заказ удаляется из корзины
- [ ] Изменилось собственное наименование - заказ удаляется из корзины
- [ ] Изменилась единица измерения - заказ удаляется из корзины
- [ ] Изменилось значение включено в тариф - заказ удаляется из корзины
- [ ] Изменился шаг:
- [ ] Шаг изменился так, что заказанное значение может быть получено с этим шагом (но цена изменилась) - заказ удаляется из корзины
- [ ] Шаг изменился так, что заказанное значение НЕ может быть получено с этим шагом - заказ удаляется из корзины
- [ ] Изменилось минимальное значение - заказ удаляется из корзины
- [ ] Изменилось максимальное значение:
- [ ] Если услуга НЕ триальная, и заказанное значение осталось меньше максимального - заказ удаляется из корзины
- [ ] Если услуга НЕ триальная, и заказанное значение стало больше максимального - заказ удаляется из корзины
- [ ] Если услуга триальная, максимум на триале указан, и из тарифа убирают максимум на триале - заказ удаляется из корзины
- [ ] Если услуга триальная, максимум на триале НЕ указан, и указывают максимум на триале - заказ удаляется из корзины
- [ ] Изменился признак предмета расчёта - заказ удаляется из корзины
- [ ] Изменилось описание дополнения - заказ удаляется из корзины
- [ ] Если тариф отключили от шаблона, то изменения в шаблоне больше не влияют на корзину
### Проверки в 6-ке (карточка редактирования)
- [ ] При редактировании дедика в разделе конфигурации
- [ ] Правая панель отражающая параметры - отсутствует
- [ ] Выводится нижний блок с кнопкой `Сохранить` по умолчанию
- [ ] При повышении аддонов нижняя панель изменяет свое состояние
- [ ] Кнопка `Сохранить` заменяется на `Оплатить изменения`
- [ ] Появляется блок "к оплате" (кнопки оплатить изменения, в корзину, отмена, подробнее)
- [ ] По клику на `Оплатить изменения` открывается модалка оплаты
- [ ] По клику на `В корзину` изменения кладутся в корзину.
- [ ] Плашка отображается корректно.
- [ ] Изменения не вступают в силу до зачисления платежа - т.е на форме остаются старые значения. **Обратить внимание на плитки ОС** (На момент написания чек-листа была выявлена проблема с отображением плиток в дедиках. Они выводятся дропдауном не смотря на то что данные приходят с разбиением по группам)
- [ ] Кнопка Отмена сбрасывает все изменения (по аддонам, по параметрам) внесенные пользователем
- [ ] По клику на `подробнее` открывается дропдаун, информация о изменениях корректна
- [ ] При внесении бесплатных изменений нижняя панель не изменяет свое состояние. При сохранении изменения сразу вступают в силу
- [ ] При внесении изменений с возвратом нижняя панель не изменяет свое состояние, выводится информация о возврате
### Пользовательские сценарии
## Платные обращения
### Для коробки учитываем только [рекомендуемые настройки!](https://docs.ispsystem.ru/billmanager/tsentr-podderyoki/platnaya-podderyoka)
- [ ] Платная поддержка не настроена
- [ ] Информация по платным обращениям не выводится
- [ ] На дашборде
- [ ] В меню службы поддержки
- [ ] При создании тикета
- [ ] На странице `Все запросы`
- [ ] Платная поддержка настроена
- [ ] На страницу покупки обращений можно перейти
- [ ] С дашборда
- [ ] Из меню службы поддержки
- [ ] При создании тикета
- [ ] На странице `Все запросы`
- [ ] По прямой ссылке на `billmgr#/support/buyincident`
- [ ] Покупка и оплата обращений
- [ ] Заголовок **Купить платные обращения**
- [ ] Если вариантов пакетов значений <= 3, то при заказе выбор количества обращений отображается свитчером
- [ ] Если вариантов пакетов значений<= 3, то при заказе выбор количества обращений отображается радиобаттонами
- [ ] На странице присутствует кнопка `В корзину`
- [ ] **Поведение при оплате обращений через модалку**
- [ ] По клику на кнопку `Купить` открывается модалка оплаты
- [ ] Заголовок в модалке: `Оплата обращений в службу поддержки`
- [ ] Если пользователь выбрал лицевой счет, то по клику на кнопку Оплатить показываем зеленый баннер:`Платные обращения успешно приобретены. Данные обращения расходуются только когда вы задаете технические вопросы`
- [ ] Количество доступных платных обращений увеличилось динамически
- [ ] Во вкладке Платные обращения
- [ ] В мессаге над заголовком **Купить платные обращения**
- [ ] Если пользователь выбрал Банковский перевод, то по клику на кнопку Оплатить перекидываем на страницу создания/выбора плательщика. После выбора плательщика пользователю выставляется счет.
- [ ] Количество доступных платных обращений увеличивается после зачисления платежа
- [ ] Если пользователь выбрал метод оплаты, требующий редирект , то по клику на кнопку Оплатить он попадает в платежку
- [ ] Если платеж прошел успешно, при возврате в биллинг пользователь попадет на страницу покупки обращений. Показываем зеленый баннер: `Платные обращения успешно приобретены. Данные обращения расходуются только когда вы задаете технические вопросы.`
- [ ] Количество доступных платных обращений увеличилось динамически
- [ ] Во вкладке Платные обращения
- [ ] В мессаге над заголовком **Купить платные обращения**
- [ ] Если платеж прошел не успешно, при возврате в биллинг пользователь попадет на ту же страницу. Выводится желтый баннер о неуспешном платеже.
- [ ] **Поведение при оплате из корзины**
- [ ] По клику на кнопку `в корзину` выводится плашка добавления в корзину, обращения кладутся в корзину одной позицией
- [ ] Если в корзине нет ничего кроме обращений, то поведение описанное для обычной оплаты сохраняется.
- [ ] Если в корзине есть еще услуги, то после успешной оплаты пользователь попадает в раздел История заказа. Поведение остается прежним.
- [ ] Если приобретаемые обращения бесплатные (100% скидка, нулевая стоимость)
- [ ] Кнопка Купить заменяется кнопкой Активировать. Кнопка в корзину исчезает
- [ ] По кнопке Активировать модалка не открывается, активация работает корректно, количество доступных обращений увеличивается. Выводится зеленый баннер "Платные обращения успешно приобретены".
### Поддержка для версии my как у FirstVDS (Только 5-ка)
# Анастейша
## Виртуальный хостинг
## Размещение серверов
## Модули ISPsystem
## Лицензии v5