\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}.}