В проекте использовал: Devise, Faker, Rspec, Capybara, Ajax
Демо версия: test-task-work.herokuapp.com
Задание включает в себя:
-
Сгенерировать новый проект со свежей версией Rails и базой данных Postgres. Желательно использовать slim.
-
Подключить дефолтную авторизацию через Devise.
-
Создать модель Company (с минимальным набором полей - код страны, название).
-
Создать модель Person (имя, фамилия). Каждый человек может быть привязан к одной из компаний
-
Написать seed-файл, который сгенерирует 50 компаний и по 2-10 человек-сотрудников. Можно, например, использовать гем faker.
Реализовать следующий функционал:
-
После авторизации пользователь видит список имеющихся компаний.
-
Для отображения названия страны по коду можно использовать гем countries.
-
На странице компании отображается ее название и список сотрудников
-
В списке компаний и в списках сотрудников рядом с каждым пунктом должна быть иконка с пустой/заполненной звездочкой (можно взять из Bootstrap).
-
По клику на иконку компания или сотрудник добавляется в избранное текущего пользователя, а иконка меняет свое состояние без перезагрузки страницы.
-
По адресу localhost:3000/favorites отображать одним списком компании и людей, которые пользователь добавил в избранное.
-
Упорядочить список по дате добавления от новых к старым.
-
Написать интеграционный тест, в котором пользователь авторизуется, добавит несколько компаний и людей в избранное и проверить, что они отображаются в списке избранных.