Написание системных тестов для простого Sinatra веб-приложения
Создайте простое веб-приложение и напишите для него системные тесты с помощью Capybara и MiniTest. Для упрощения разработки предлагается реализовывать приложение и тесты параллельно друг другу. Сначала настройте окружение в соответствии с настройками, показанными на лекции, а затем приступайте к реализации сценариев, описанных ниже.
Краткое описание проекта
Приложение представляет собой кулинарную книгу, в которой пользователи могут хранить свои любимые рецепты, чтобы можно было легко их хранить, искать и показывать.
Ключевые сценарии использования проекта
- Пользователь открывает книгу рецептов и просматривает постранично список рецептов. Для каждого рецепта выводится название, краткое описание.
- Пользователь может открыть описание конкретного рецепта, на открывшейся странице он должен увидеть всю информацию о рецепте: название, краткое описние и текст рецепта.
- Пользователь может нажать на кнопку «добавить рецепт», ввести необходимые данные и добавить новый рецепт. Нельзя добавить два рецепта в одну книгу с одинаковым названием.
Далее идут дополнительные сценарии, которые можете реализовать, если у вас есть свободное время.
- Пользователь может зарегистрироваться в системе. Для выполнения действий с персональной книгой рецептов, включая добавление, удаление и редактирование пользователь должен войти в систему.
- Пользователь может удалять рецепты из своей кулинарной книги.
- Пользователь может редактировать рецепт из своей кулинарной книги.
- Пользователь может просмотреть публичные рецепты из всех кулинарных книг.
- Пользователь может пометить свой рецепт как приватный, он не должен выводиться в общем списке кулинарных рецептов для других пользователей, но должен выводиться в списке для данного пользователя.