Я предпочитаю группировать эти поведения в модуле и включать его в свои характеристики.
В вашем случае я бы создал spec/features/common.rb
модуль
# frozen_string_literal: true
module Features
module Common
def submit_new_deal
# visit 'new' page
# use capybara to fill out lots of form fields and hit submit
end
end
и включите его в spec/rails_helper.rb
следующим образом:
# Include common functionality for features
config.include Features::Common, type: :feature
Наконец, повторно используйте его в спецификациях:
it "creates a new deal"
submit_new_deal
# test all the values of the created Deal object
end