Я использую Draper впервые, и он отлично работает... за исключением того факта, что он нарушил большинство моих спецификаций. Пример:
Я настраиваю account_settings_controller_spec.rb
describe '#create' do
before do
@user = create :user
end
end
Раньше это работало нормально (я установил config.include FactoryGirl::Syntax::Methods
для вызова заводов таким образом)
Однако теперь, когда я вызываю create :user
, я получаю undefined method 'full_name' for class 'User'
, который является методом, который я переместил из своей модели User в свой UserDecorator.
Это странно, поскольку ни завод, ни спецификация не используют метод full_name
.
Я пробовал несколько вещей:
ApplicationController.new.set_current_view_context
в блоке before (что приводит к ошибке)require 'draper/test/rspec_integration'
в мой spec_helper.rb (который ничего не делает)- добавление
before/after(:create) { |instance| instance.decorate }
к моей фабрике (что тоже ничего не делает)
Я не уверен, что мне здесь не хватает, или даже почему возникает ошибка. Возможно, мои декораторы не включаются при загрузке RSpec?