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

Краткое описание проекта

Приложение представляет собой кулинарную книгу, в которой пользователи могут хранить свои любимые рецепты, чтобы можно было легко их хранить, искать и показывать.

Ключевые сценарии использования проекта

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

Далее идут дополнительные сценарии, которые можете реализовать, если у вас есть свободное время.

  • Пользователь может зарегистрироваться в системе. Для выполнения действий с персональной книгой рецептов, включая добавление, удаление и редактирование пользователь должен войти в систему.
  • Пользователь может удалять рецепты из своей кулинарной книги.
  • Пользователь может редактировать рецепт из своей кулинарной книги.
  • Пользователь может просмотреть публичные рецепты из всех кулинарных книг.
  • Пользователь может пометить свой рецепт как приватный, он не должен выводиться в общем списке кулинарных рецептов для других пользователей, но должен выводиться в списке для данного пользователя.