Я бы порекомендовал вам начать с интеграционных тестов для каждой функции, которую вы планируете добавить в свое приложение. Это неоценимый инструмент для понимания проблемы, которую вы пытаетесь решить, и для обмена новыми дополнениями к программному обеспечению с клиентами.
Чтобы протестировать JavaScript на своей странице, вы можете посмотреть на Selenium , из памяти вы можете использовать Selenium в качестве замены вместо Rack::Test
при использовании Capybara для тестирования веб-страниц.
Что касается Cucumber, я бы предложил создать новый файл объектов для создания счета-фактуры и сценарий, который проверяет, что при вводе определенной строки в поле вычисляется правильный общий итог.Что-то вроде:
Scenario: Filling out the form
Given I am looking at the invoice form
When I fill in the fields with <value1> and <value2> without submitting
Then I should see <total> on the page
Очевидно, я не знаю достаточно о вашей форме, чтобы знать, какие поля необходимо заполнить, но это общая схема того, как я проверю это.Я бы также сделал тест в спецификации представления, чтобы убедиться, что в форме есть раздел для вычисленного общего значения.
После этого я бы опустился до написания спецификаций для Javascript в Жасмин и реализовать код для расчета и отображения итогов.