\renewcommand{\labelenumi}{\textbf{TC-\arabic{enumi}}.} \renewcommand{\labelenumii}{\textbf{TC-\arabic{enumi}.\arabic{enumii}}.} \begin{enumerate} \item Авторизация; \begin{enumerate} \item Авторизация зарегистрированного пользователя в системе; \textbf{Предусловие}: Пользователь зарегистрирован в системе и имеет роль <<Оператор>>, <<Менеджер>>, <<Член комиссии>>, <<Администратор>> или <<Контент-менеджер>>, но не авторизован в системе; \textbf{Постусловие}: Пользователь успешно авторизован в системе и имеет доступ к функционалу, соответствующего его роли; \textbf{Описание}: Пользователь открывает страницу веб-приложения с URL: \url{https://charity.infostrategic.com/login} и вводит логин/пароль, с которым был ранее зарегистрирован; \textbf{Ожидаемый результат}: Пользователь попадает на страницу с URL: \url{https://charity.infostrategic.com/applications} (если пользователь имеет роль <<Менеджер>>, <<Член комиссии>>), URL: \url{https://charity.infostrategic.com/chats} (если пользователь имеет роль <<Оператор>>), URL: \url{https://charity.infostrategic.com/fund/description} (если пользователь имеет роль <<Контент-менеджер>>), URL: \url{https://charity.infostrategic.com/users} (если пользователь имеет роль <<Администратор>>); В хэдерах приложения должен быть токен \texttt{Authorization}. \textbf{Требования, покрываемые тест кейсом}: FR-1; \textbf{Покрытые юзкейсы}: Sign In; \item Авторизация незарегистрированного пользователя в системе; \textbf{Предусловие}: Пользователь не зарегистрирован в системе; \textbf{Постусловие}: Пользователь не авторизован в системе; \textbf{Описание}: Пользователь открывает страницу веб-приложения с URL: \url{https://charity.infostrategic.com/login} и вводит любой логин/пароль; \textbf{Ожидаемый результат}: Система отображает уведомление с текстом <<Вы не зарегистированы в системе>>; \textbf{Покрытые требования}: FR-1; \textbf{Покрытые юзкейсы}: Sign In; \end{enumerate} \item Настройки; \begin{enumerate} \item Изменение настроек профиля пользователя; \textbf{Предусловие}: Пользователь авторизован в системе; \textbf{Постусловие}: Пользователь изменил информацию о своем профиле; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/settings} и меняет: фотографию, ФИО, телефон, адрес, город, страну. После изменения информации пользователь нажимает кнопку <<Сохранить изменения>>. \textbf{Ожидаемый результат}: Система отображает оповещение <<Все изменения успешно сохранены>>, пользователь видит новые данные в том же разделе. \textbf{Покрытые требования}: FR-2 (FR-2.1, FR-2.2); \textbf{Покрытые юзкейсы}: Update and read profile; \item Изменение языка системы; \textbf{Предусловие}: Пользователь авторизован в системе; \textbf{Постусловие}: Пользователь изменил язык системы; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/settings} и меняет язык системы. \textbf{Ожидаемый результат}: Система отображает оповещение <<Язык системы успешно изменен>>, система меняет надписи на соответствующие выбранному языку. \textbf{Покрытые требования}: FR-2 (FR-2.3); \textbf{Покрытые юзкейсы}: Update and read profile; \end{enumerate} \item Управление пользователями; \begin{enumerate} \item Регистрация пользователя в системе; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Администратор>>; \textbf{Постусловие}: Новый пользователь зарегистрирован в системе; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/users/create} и заполняет ФИО будущего пользователя, а также указывает его email и роль в системе. \textbf{Ожидаемый результат}: Система отображает оповещение <<Пользователь успешно зарегистрирован>> и перебрасывает на URL:\\ \url{https://charity.infostrategic.com/users}, где можно увидеть данные о только что зарегистрированном пользователе. \textbf{Покрытые требования}: FR-4 (FR-4.3); \textbf{Покрытые юзкейсы}: CRU of users; \end{enumerate} \begin{enumerate} \item Просмотр и изменение профиля пользователя; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Администратор>>; \textbf{Постусловие}: Данные о пользователе обновлены; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/users/id}, где id - ID одного из пользователей в системе. Администратор меняет поля ФИО, роль, назначенные категории (если есть); \textbf{Ожидаемый результат}: Система отображает оповещение <<Информация о пользователе успешно изменена>> и перебрасывает на URL: \url{https://charity.infostrategic.com/users}, где можно увидеть измененные данные о пользователе. \textbf{Покрытые требования}: FR-4 (FR-4.1, FR-4.2); \textbf{Покрытые юзкейсы}: CRU of users; \end{enumerate} \item Управление новостным контентом; \begin{enumerate} \item Просмотр и изменение новостей фонда; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Контент-менеджер>>; \textbf{Постусловие}: Список новостей обновлен; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/news}, где виден список новостей фонда. Далее пользователь переходит на URL: \url{https://charity.infostrategic.com/news/id} где id - ID одной из новостей в системе. Контент-менеджер меняет картинку, название, описание новости и нажимает кнопку <<Сохранить изменения>>; \textbf{Ожидаемый результат}: Система отображает оповещение <<Информация о новости успешно изменена>> и перебрасывает на URL: \url{https://charity.infostrategic.com/news}, где можно увидеть измененные новости. \textbf{Покрытые требования}: FR-10 (FR-10.2); \textbf{Покрытые юзкейсы}: CRUD news; \end{enumerate} \begin{enumerate} \item Удаление новости фонда; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Контент-менеджер>>; \textbf{Постусловие}: Выбранная новость удалена; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/news}, где виден список новостей фонда. Из списка новостей пользователь удаляет выбранную. \textbf{Ожидаемый результат}: Система отображает оповещение <<Новость успешно удалена>> и можно увидеть, что удаленной новости в списке больше нет. \textbf{Покрытые требования}: FR-10 (FR-10.2); \textbf{Покрытые юзкейсы}: CRUD news; \end{enumerate} \item Чат поддержки; \begin{enumerate} \item Просмотр диалогов с пользователями; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Оператор>>; \textbf{Постусловие}: - \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/chats}. В списке можно увидеть сообщения от пользователей, которые обновляются в режиме реального времени. Можно увидеть следующую информацию о чате: ФИО собеседника, текст последнего сообщения; \textbf{Ожидаемый результат}: Чаты обновляются в режиме реального времени; \textbf{Покрытые требования}: FR-9 (FR-9.1); \textbf{Покрытые юзкейсы}: CRU support chats; \end{enumerate} \begin{enumerate} \item Написать сообщение пользователю; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Оператор>>; \textbf{Постусловие}: Сообщение пользователю отправлено; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/chats}. В списке чатов пользователь выбирает диалог и нажимает на него. В текстовом поле оператор набирает сообщение и отправляет пользователю, нажав кнопку <<Отправить>>; \textbf{Ожидаемый результат}: Отправленное сообщение появляется в диалоге с пользователем; \textbf{Покрытые требования}: FR-9 (FR-9.2); \textbf{Покрытые юзкейсы}: CRU support chats; \end{enumerate} \item Регистрация и просмотр пожертвовании; \begin{enumerate} \item Регистрация пожертвования фонду; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Член комиссии>>; \textbf{Постусловие}: Пожертовование зарегистрировано в системе; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/transactions/create}. После заполнения необходимых полей формы, пользователь нажимает кнопку <<Создать транзакцию>>. \textbf{Ожидаемый результат}: Зарегистрированная транзакция появляется в системе; \textbf{Покрытые требования}: FR-6 (FR-6.1, FR-6.2); \textbf{Покрытые юзкейсы}: Create donation, Read donation; \end{enumerate} \item Категории заявок; \begin{enumerate} \item Создание, изменение и просмотр категорий; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Член комиссии>>; \textbf{Постусловие}: Категории фонда обновлены; \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/categories}. В UI отображается информация об уже зарегистрированных категориях: ID, название на английском, название на русском и арабском языках, а также галочка - скрыта ли категория. Пользователь добавляет категории и всю необходимую информацию. Пользователь нажимает кнопку <<Сохранить изменения>>; \textbf{Ожидаемый результат}: Появляется уведомление <<Категории успешно обновлены>>; \textbf{Покрытые требования}: FR-7 (FR-7.1, FR-7.2, FR-7.3); \textbf{Покрытые юзкейсы}: CRUD categories; \end{enumerate} \item Просмотр сотрудников фонда; \begin{enumerate} \item Просмотр сотрудников фонда; \textbf{Предусловие}: Пользователь авторизован в системе под аккаунтом с ролью <<Член комиссии>>; \textbf{Постусловие}: - \textbf{Описание}: Авторизованный пользователь переходит на URL: \url{https://charity.infostrategic.com/managers}. \textbf{Ожидаемый результат}: В UI отображается информация о сотрудниках фонда с ролями <<Менеджер>>, <<Член комиссии>>, <<Контент-менеджер>>, <<Оператор>>: ФИО, почта, роль. Перейдя на одну из страниц менеджера должна быть видна следующая информация: ФИО, фотография профиля, роль пользователя, заявки, назначенные на пользователя; \textbf{Покрытые требования}: FR-4 (FR-4.4); \textbf{Покрытые юзкейсы}: View managers; \end{enumerate} \end{enumerate} \renewcommand{\labelenumi}{\arabic{enumi}.} \renewcommand{\labelenumii}{\arabic{enumii}.}