Давно использую capybara, но вот с basic authority никак не мог справиться — спасибо. Но вот не совсем пойму зачем для тестирования указывать хост. Все же тесты происходят локально. Или у вас есть завязки доменное имя?
PS — патчить gem в описанный вами способ, имхо, очень плохо. Лучше сделать pull-request для нужного функционала, пропатчить в самом тесте(благо Ruby позволяет) или создать gem патч.
PPs — сброс сессии — это правильное решение, которое не нужно игнорировать дабы сохранилась чистота тестов
а бизнес логика в модели — это rails way? Кажется для бизнес логики есть папка lib, а модели всего лишь получают данные из хранилища(базы данных, xml, etc). Хотя возможно, я ошибаюсь))
В данном случае наша модель является в большей степени презентером или декоратором уровня базы данных/модели. А для наполнения информацией используются стандартные модели Item/Color/Store/etc
Про выйграш в скорости — имелось ввиду отказ от использования методов joins/include activerecord. Но в основном мне хотелось показать, как облагородить такой большой запрос, добавив в него частичку магии activerecord. А насчет подключать только нужные таблицы — я брал ситуацию, когда необходимо все. Это может быть поиск по любому столбцу, экспорт в csv/xls…
PS — патчить gem в описанный вами способ, имхо, очень плохо. Лучше сделать pull-request для нужного функционала, пропатчить в самом тесте(благо Ruby позволяет) или создать gem патч.
PPs — сброс сессии — это правильное решение, которое не нужно игнорировать дабы сохранилась чистота тестов