'Is the 'Travel' time helper not available in feature specs?
I just tried to use Rails' time helper method travel in one of my feature specs:
scenario 'published_at allows to set a publishing date in the future' do
magazine_article.update_attribute(:published_at, Time.now + 1.day)
expect { visit magazine_article_path(magazine_article.magazine_category, magazine_article) }
.to raise_error(ActiveRecord::RecordNotFound)
travel 2.days do
visit magazine_article_path(magazine_article.magazine_category, magazine_article)
expect(page).to have_content('Super awesome article')
end
end
It's giving me this:
NoMethodError:
undefined method `travel' for #<RSpec::ExampleGroups::MagazineArticles::AsUser::Viewing:0x007f84a7a95640>
What am I missing?
http://api.rubyonrails.org/classes/ActiveSupport/Testing/TimeHelpers.html
Solution 1:[1]
In order to use these helpers you have to include them into your tests.
You can do this by either including it into single test suite:
describe MyClass do
include ActiveSupport::Testing::TimeHelpers
end
or globally:
RSpec.configure do |config|
config.include ActiveSupport::Testing::TimeHelpers
end
Solution 2:[2]
Following on @andrey-deineko...
I created a file time_helpers.rb under spec\support as follows:
RSpec.configure do |config|
config.include ActiveSupport::Testing::TimeHelpers
end
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Jon Kern |
